应该包含方括号的正则表达式在 Sublime Text 中排除它们
Regex that should include brackets excludes them in Sublime Text
我使用两种不同的在线工具测试了以下正则表达式:
\<(.*?)\>
在两者中它们产生相同的结果,即匹配 <any text within brackets>
包括括号。这就是我想要的。
但在 Sublime Text 中结果是不同的。它仅匹配 <any text within brackets
>。括号被排除。
这是我一直在测试的一些示例文本:
<?xml version="1.0" encoding="UTF-8"?>
<!-- Text for testing regex -->
<data type="lorem">
<h3>Improving the lorem in your ipsum</h3>
</data>
<data type="image" number="1"/>
<data type="ipsum">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor.
</data>
这是 Sublime Text 的错误,还是可以修改正则表达式以在 Sublime Text 中也包含括号?
谢谢。
这个,
(<.*?>)
然后可能就可以正常工作了。
Demo
大括号是用于捕获组的元字符,我想您只是想在其中包含 <>
,这样您的捕获组 $1 就会变成 (<.*?>)
。
正则表达式电路
jex.im 可视化正则表达式:
如果您希望 simplify/modify/explore 表达式,regex101.com. If you'd like, you can also watch in this link 的右上面板已对其进行说明,它将如何匹配一些示例输入。
在 sublime 使用的正则表达式类型中,<
和 >
字符如果没有转义则被视为文字。所以你要找的正则表达式是 <(.*?)>
.
转义<
有一个特殊的含义,即"the start of a word"。转义 >
和单词结尾也是如此。您可以尝试使用正则表达式 \<d
vs d
和您提供的示例进行升华。
我使用两种不同的在线工具测试了以下正则表达式:
\<(.*?)\>
在两者中它们产生相同的结果,即匹配 <any text within brackets>
包括括号。这就是我想要的。
但在 Sublime Text 中结果是不同的。它仅匹配 <any text within brackets
>。括号被排除。
这是我一直在测试的一些示例文本:
<?xml version="1.0" encoding="UTF-8"?>
<!-- Text for testing regex -->
<data type="lorem">
<h3>Improving the lorem in your ipsum</h3>
</data>
<data type="image" number="1"/>
<data type="ipsum">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor.
</data>
这是 Sublime Text 的错误,还是可以修改正则表达式以在 Sublime Text 中也包含括号?
谢谢。
这个,
(<.*?>)
然后可能就可以正常工作了。
Demo
大括号是用于捕获组的元字符,我想您只是想在其中包含 <>
,这样您的捕获组 $1 就会变成 (<.*?>)
。
正则表达式电路
jex.im 可视化正则表达式:
如果您希望 simplify/modify/explore 表达式,regex101.com. If you'd like, you can also watch in this link 的右上面板已对其进行说明,它将如何匹配一些示例输入。
在 sublime 使用的正则表达式类型中,<
和 >
字符如果没有转义则被视为文字。所以你要找的正则表达式是 <(.*?)>
.
转义<
有一个特殊的含义,即"the start of a word"。转义 >
和单词结尾也是如此。您可以尝试使用正则表达式 \<d
vs d
和您提供的示例进行升华。