我想要一个可以找到所有 $gme 或 gme 的正则表达式。它不应该在类似
的字符串中找到 $gme 或 gmehello $gmee
或
hello g$gme
例如在一个字符串中
Hello gme. Hey $gme. Hey $gmee. Hey gmee.
它应该只从上面的字符串中找到 gme 或 $gme。
当字符串前后没有空格时,它还必须找到 gme 或 $gme 例如
$gme
或
gme
我正在编写一个脚本,可以计算字符串中提到 $gme 或 gme 的次数
所以在一个字符串中
Hello gme. Hey $gme. Hey $gmee. Hey gmee.
它只被提到过两次。
我希望现在天气晴朗。
我试过的正则表达式
\$gme$|\sgme\s|\sgme|^gme\S
当 $gme 或 gme 前后没有空格时,上述方法失败。它还包括我不想包括的 gmee 和 $gmee。
最佳答案
您可以混合使用空格和单词边界:
(?<!\S)\$?gme\b
参见 regex demo
详细信息:
-
(?<!\S)
- 如果当前位置左侧没有非空白字符(因此,字符串开头或空白必须紧接在左侧),则匹配失败的否定回顾 -
\$?
- 一个可选的$
字符 -
gme
- 一句话 -
\b
- 边界一词。
关于python - $gme 或 gme 的正则表达式在 python 中前后有空格或没有空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65968095/