- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 perl,我在一个包含以下文本的大文件中“吞食”了,我正在尝试为我给定的正则表达式捕获文件中的所有正则表达式 $1
匹配项。我的正则表达式是
=~ /((GET|PUT|POST|CONNECT).*?(Content-Type: (image\/jpeg)))/sgm
当前正在捕获粗体文本,但是,最后捕获的是处理行
"GET /~sgtatham/putty/latest/x86/pscp.exe HTTP/1.1" to "Content-Type: text/html; charset=iso-8859-1"
作为最后一次捕获的一部分,它不应该 b/c“text/html”不等于我对 (image\/jpeg)
的正则表达式捕获。我希望能够在没有
"GET /~sgtatham/putty/latest/x86/pscp.exe HTTP/1.1" to "Content-Type: text/html; charset=iso-8859-1" being included.
感谢任何帮助,谢谢。
**GET /~sgtatham/putty/latest/x86/pscp.exe HTTP/1.1
Host: the.earth.li
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:13.0) Gecko/20100101 Firefox/13.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
Content-Type: text/html; charset=iso-8859-1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
\.+"
GET /~sgtatham/putty/0.62/x86/pscp.exe HTTP/1.1
Host: the.earth.li
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:13.0) Gecko/20100101 Firefox/13.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Content-Length: 315392
Keep-Alive: timeout=15, max=99
Connection: Keep-Alive
Content-Type: image/jpeg**
Platform: Digital Engagement Platform; Version: 1.1.0.0
最佳答案
您可以使用 (?!pattern)
轻松做到这一点,这是一个否定的先行断言。如需回顾,请阅读这篇文章 Positive examples of positive and negative lookahead (ourcraft.wordpress.com)
正则表达式
$text =~ /
( # start capture
(?:GET|PUT|POST|CONNECT) # start phrase
(?:
(?!GET|PUT|POST|CONNECT) # make sure we'havent any these phrase
. # accept any character
)*? # any number of times (not greedy)
Content-Type:\simage\/jpeg # end phrase
) # end capture
/msx;
print $1;
所有事件
while($text =~ m/REGEXP/msxg) {
print $1;
}
输出
GET /~sgtatham/putty/0.62/x86/pscp.exe HTTP/1.1
Host: the.earth.li
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:13.0) Gecko/20100101 Firefox/13.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Content-Length: 315392
Keep-Alive: timeout=15, max=99
Connection: Keep-Alive
Content-Type: image/jpeg
关于regex - Perl Slurp 正则表达式捕获,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11372265/
给定输入文档: {"a":1} {"b":2} {"c":3,"d":4} 以下jq程序(如果有的话)有什么区别?它们似乎都产生相同的输出。 jq '[., 输入] |映射(to_entries[].
给定输入文档: {"a":1} {"b":2} {"c":3,"d":4} 以下jq程序(如果有的话)有什么区别?它们似乎都产生相同的输出。 jq '[., 输入] |映射(to_entries[].
我的 JSON 输入: { "Key": "Team", "Value": "AA" } { "Key": "Division", "Value": "BB" } 期望的输出: [
我的 JSON 输入: { "Key": "Team", "Value": "AA" } { "Key": "Division", "Value": "BB" } 期望的输出: [
使用 perl,我在一个包含以下文本的大文件中“吞食”了,我正在尝试为我给定的正则表达式捕获文件中的所有正则表达式 $1 匹配项。我的正则表达式是 =~ /((GET|PUT|POST|CONNECT
我希望这听起来不像我在做坏事——我实际上是受到 this problem 的激励。 -- 但我正在尝试获取 Android 设备数据分区的原始磁盘镜像。即,不仅是存储在那里的文件,还有所有孤立的文件
最近有人问how to do a file slurp in python ,并且接受的答案建议如下: with open('x.txt') as x: f = x.read() 我将如何着手执行此操
为什么“slurping”文件不是普通文本文件 I/O 的好做法,什么时候有用? 例如,为什么我不应该使用这些? File.read('/path/to/text.txt').lines.each d
我有这两个 json 文件: ubuntubionic.json : { "ubuntu": { "os_ver": "bionic", "image": "abc
我有一个 perl 脚本,我在其中写出一个非常大的日志文件。目前我用“传统”的 Perl 方式写出我的文件: open FILE, ">", 'log.txt'; print FILE $line;
我正在使用 File::Slurp 写入文件。问题是数组元素被写为一行上的单个字符串。我想在单独的行上打印数组元素。 我总是可以将我的数组元素格式化为在每个元素中都有一个换行符,这是我不想做的。 Fi
使用 Ansible,我需要从多个文件中提取内容。对于一个文件,我使用了 slurp 并注册了一个变量。 - name: extract nameserver from .conf file sl
Perl有许多方便的成语,可以轻松地完成常见的事情,包括: 如果不使用文件句柄而使用文件读取运算符,它将无缝地打开并读取@ARGV中的所有文件,一次仅一行: while (<>) { print $.
我查看了 Slurp 的来源我很想了解 slurp() 是如何工作的: sub slurp { local( $/, @ARGV ) = ( wantarray ? $/ : undef, @
我是 File::Slurp 模块的新手,在我的第一次测试中,它没有给出我期望的结果。我花了一段时间才弄清楚,所以现在我对为什么我会看到这种特定行为感兴趣。 我对 File::Slurp 的调用如下所
要读取文件,我可以执行以下任一操作: with open('foo', 'r') as fd: content = fd.read() 或 content = open('foo').read(
我正在尝试安装在 MySQL::Slurp 中找到的 mysqlslurp 实用程序. 我发现它需要 Moose因此我也安装了那个包。 但我仍然无法使用mysqlslurp 命令。我得到一个错误: C
我们开始调查一个需要一些棘手的 XML 解析的项目。 我喜欢 Groovy 的 XmlSlurper 的外观(Groovy 似乎是我目前的选择 Golden Hammer)。我们将需要处理范围相当广泛
我正在使用 File::Slurp read_file和 write_file更新文件内容的功能。 现在我专注于向它添加错误处理。为此,我尝试对实际不存在的文件执行以下方法。 1) read_file
我有一个文件,它比需要运行此脚本的服务器上的可用内存量大得多。 在那个文件中,我需要运行一个基本的正则表达式,它一次跨两行查找和替换。我已经研究过使用 sed、awk 和 perl,但在这种情况下我无
我是一名优秀的程序员,十分优秀!