regex - 使用 # 字符匹配正则表达式

标签 regex

我正在尝试匹配以下字符串:

style #

我的正则表达式如下:

^\s*\b(style #)\b\s*$

这与我的字符串不匹配。

如果我尝试这个正则表达式:

^\s*\b(style n)\b\s*$

它匹配以下字符串:

style n

这让我认为我错误地使用了 # 字符。

我做错了什么?

最佳答案

问题是 \b 表示单词边界(在一侧有字母/数字/下划线),而您的字符串在 # 之后没有单词边界 (因为它后面没有字母/数字/下划线)。只需删除该部分即可。

^\s*\b(style #)\s*$

(实际上您也不需要第一个 \b,因为上下文保证那里会有一个单词边界。)

关于regex - 使用 # 字符匹配正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21013150/

相关文章:

c++ - 用于 xml 标签内容的单一匹配的正则表达式

regex - 如何找到一个模式,并以不同的方式替换它?

javascript - 日期验证年份失败

java - Grafana正则表达式

javascript - 如何在 javascript 正则表达式匹配中将多个匹配 (/g) 与反向引用结合起来

Google 表格 (RE2) 中的正则表达式 "NOT"

regex - VIM - 将普通模式函数转换为命令模式函数

java - 正则表达式匹配两个连续字符,除非后面/前面有更多相同的字符

Python正则表达式,匹配组跨度(开始和结束)

regex - 简单的 RegExp 匹配它不应该匹配的内容