是否可以在 UltraEdit 中使用正则表达式跨换行符匹配模式?
UltraEdit 文本编辑器包括一个与 Perl 和 Unix 兼容的正则表达式引擎,用于搜索。
我希望能够匹配这样的字符串行:
<branch id="attribute">
<leaf id="attribute"/>
<leaf id="attribute"/>
<leaf id="attribute"/>
</branch>
与这样的东西:
/<branch id="attribute">.*</branch>/gis
有没有办法使用 UltraEdit 来完成此操作?
The UltraEdit text editor includes a Perl and Unix compatible regular expression engine for searching.
I want to be able to match a string line this:
<branch id="attribute">
<leaf id="attribute"/>
<leaf id="attribute"/>
<leaf id="attribute"/>
</branch>
With something like this:
/<branch id="attribute">.*</branch>/gis
Is there a way to accomplish this using UltraEdit?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果将 (?s) 放在模式的开头,它将启用单行模式,因此 \r\n 不会被排除在匹配之外。*
例如,以下内容匹配整个分支元素(在具有 Perl 风格的 UEStudio 6 中)正则表达式):
做一个小实验,也支持其他一些 Perl 选项。 例如 (?sx-i) 开头将是单行,忽略模式中的额外空格,区分大小写(似乎默认不区分大小写)。
If you put (?s) at the start of pattern it'll enable single line mode so \r\n will not be excluded from matching .*
E.g., the following matches the whole of the branch element (in UEStudio 6 with Perl style regular expression):
Doing a little experiment some other Perl options are supported too. e.g. (?sx-i) at the start would be Single line, ignore eXtra whitespace in pattern, case sensitive (it seems to default to case insensitive).
如果您选择了 Perl 正则表达式,则可以执行以下操作:
其中 \s 是任何空白字符,包括换行符和回车符,\S 是任何其他字符。 请注意,默认情况下这是贪婪的,因此如果您有以下字符串:
那么一个正则表达式将查找整个字符串作为一个匹配项。 如果你不想这样做,那么添加
?
如下:从答案中可以看到,在 UltraEdit 中有很多方法可以实现这一点!
注意:使用 UltraEdit 14.20 进行测试。
If you have Perl regular expressions selected, you can do something like:
where \s is any whitespace character, including newline and return and \S is any other character. Note that this is greedy by default, so if you have the following string:
then the one regular expression will find the ENTIRE string as one match. If you don't want to do this, then add
?
as follows:As you can see from the answers, there are many ways to accomplish this in UltraEdit!
NOTE: Tested with UltraEdit 14.20.
你有没有尝试过:
Have you tried: