regex - 如何在正则表达式中匹配包含特殊字符的整个单词

标签 regex

在正则表达式中有没有办法在 PCRE 语法中转义整个文本区域中的特殊字符?

例如。 hey+Im+A+Single+Word+Including+The+Pluses+And.Dots
通常要匹配正则表达式中的确切字符串,我必须转义每个 +./ s 在上面的字符串中。这意味着如果字符串是一个变量,则必须寻找特殊字符并手动转义它们。通过告诉正则表达式转义文本块中的所有特殊字符,是否有更简单的方法来做到这一点?

这背后的动机是将其附加到更大的正则表达式中,因此即使有更简单的方法来获得精确匹配,它们也不适用于此处。

最佳答案

\Q之间的一切和 \E元字符在 PERL Compatible RegEx (PCRE) 中被视为文字。所以在你的情况下:

\Qhey+Im+A+Single+Word+Including+The+Pluses+And.Dots\E

其他引擎很少支持这种语法。

关于regex - 如何在正则表达式中匹配包含特殊字符的整个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34344112/

相关文章:

javascript - 获取已知格式的字符串的可变部分

regex - 如何在多行上对正则表达式中的值求和

javascript - 为什么 Javascript string.replace ("\n\t","xxx") 将 "\n\t"替换为 "\nxxx"?

regex - 我如何使用TextMate对csv文件的每个值加上双引号?

regex - 在正则表达式中反转匹配

c# - 我可以使用正则表达式在 Resharper 的自定义模式中查找字符串吗?

json - 有没有更快的方法来解析 Java 中有效整数的字符串?

excel - 检查单元格内容是否匹配格式的公式,正则表达式?

javascript - 使用正则表达式查找我选择的前两个相同字符之间的文本

c++ - 使用正则表达式解析字符串