regex - 匹配单词或其前缀的正则表达式

标签 regex lexical

我想匹配整个单词的正则表达式。

在下面的示例中,我尝试匹配 sseason 但我所拥有的匹配 seaon

[s|season]

如何制作正则表达式来匹配整个单词?

最佳答案

方括号用于字符类,您实际上正在尝试匹配以下任何一个:s|s (再次)、eas(再次)、on .

使用括号代替分组:

(s|season)

或非捕获组:

(?:s|season)
<小时/>

注意:非捕获组告诉引擎它不需要存储匹配项,而另一个(捕获组则需要)。对于小东西,两者都可以,对于“重型”东西,您可能想先看看是否需要匹配。如果不这样做,最好使用非捕获组来分配更多内存用于计算,而不是存储您永远不需要使用的东西。

关于regex - 匹配单词或其前缀的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18402416/

相关文章:

Python Regex 只匹配每个单词大写的地方

regex - Scala 正则表达式查找和替换

关于 C 中的词法错误的说明

c++ - 词法和语法分析器软件

javascript - 词法作用域变量在 getJSON 调用中被覆盖后保留值

regex - 编辑不在单独行上的嵌套标签中的超链接

java - 用于提取(仅)第一个数值的正则表达式

Javascript 正则表达式检查确切的字母数字和特殊字符

compiler-construction - 编写编译器,词法分析?

algorithm - 语法高亮/词法分析算法