相关疑难解决方法(0)

Javascript正则表达式多行标志不起作用

我写了一个正则表达式来从html中获取字符串,但似乎多行标志不起作用.

这是我的模式,我想在h1标签中获取文本.

var pattern= /<div class="box-content-5">.*<h1>([^<]+?)<\/h1>/mi
m = html.search(pattern);
return m[1];
Run Code Online (Sandbox Code Playgroud)

我创建了一个字符串来测试它.当字符串包含"\n"时,结果始终为null.如果我删除所有"\n",它给了我正确的结果,无论是否带有/ m标志.

我的正则表达式有什么问题?

javascript regex

259
推荐指数
4
解决办法
9万
查看次数

查找正则表达式Word的最后一次出现

如何找到带有单词边界的单词的最后一次出现?我/\btotal\b/为这个词创建了一个正则表达式.我如何使用search()查找此表达式的最后一次出现?在此先感谢您的帮助!

javascript regex

6
推荐指数
2
解决办法
1万
查看次数

为什么perl regex.*在空分隔记录中不识别\n.$/="\ 0'

我正在尝试解析一些\x00空分隔的数据.我认为在一个-pe/-ne循环中,$_相当于.*替换正则表达式的模式匹配方...但是正如我的例子所示,它们不一样......

                                                  #      ???? works, but is not a regex
printf 'aaa\n\0bbb\n\0' | perl -ne 'BEGIN{ $/="\0"; }; s/$_/\"$.$&\"/ and print;' |xxd
printf 'aaa\n\0bbb\n\0' | perl -ne 'BEGIN{ $/="\0"; }; s/.*/\"$.$&\"/ and print;' |xxd
                                                  #      ??__ gives un-expected output

# output                                          #      ?       ? 
0000000: 2231 6161 610a 0022 2232 6262 620a 0022  "1aaa..""2bbb.."
0000000: 2231 6161 6122 0a00 2232 6262 6222 0a00  "1aaa".."2bbb"..
                                                  #    ?       ?
Run Code Online (Sandbox Code Playgroud)

获得一种s/ / /替代品来识别全部需要$_ …

regex perl substitution

1
推荐指数
1
解决办法
183
查看次数

标签 统计

regex ×3

javascript ×2

perl ×1

substitution ×1