【发布时间】:2021-04-29 02:01:55
【问题描述】:
每次我需要一些高级的东西时,我似乎都必须不断地重新学习 Regex 和 Grep 语法。这一次,即使使用 BBEDIT 的模式游乐场,我也无法解决这个问题。
我需要对 plist/XML 文件中一对标签之间的文本中任意位置出现的两个文字星号进行多行搜索。
我可以成功地构造一个lookbetween所以:
(?s)(?<=<array>).*?(?=</array>)
我尝试将其限制为仅匹配标签之间出现两个星号的情况:
(?s)(?<=<array>).*?[*]{2}.*?(?=</array>)
(?s)(?<=<array>).+[*]{2}.+(?=</array>)
(?s)(?<=<array>).+?[*]{2}.+?(?=</array>)
但他们一无所获。当我删除 {2} 时,我意识到我什至没有正确构建它来查找一个星号的出现。我尝试转义字符 /* 和 [/*] 但无济于事。
我如何匹配任何出现的 blah blah * blah blah * blah blah ?
【问题讨论】:
-
.匹配任何字符,在模式中使用.*或.+时不会限制任何内容。
标签: regex grep html-parsing textwrangler bbedit