正则表达式匹配特定格式

我真的很不擅长正则表达式(我真的无法理解我的生活)。我想要一个匹配以# 开头的子字符串的正则表达式(例如#something),但没有被方括号包围(例如[#something])。

到目前为止,我设法组合了一个匹配方括号之间的子字符串的正则表达式,如下所示:

[([^[]]+)]

回答

您可以使用您的模式扩展您的方法并从中省略捕获组。那么这将是您不想匹配的部分。

|向模式添加一个替代项,后跟一个捕获组以匹配您想要的内容。

[[^[]]+]|(#[^s#]+)
  • [[^[]]+] 匹配来自 [...]
  • | 或者
  • (#[^s#]+)捕获组 1,匹配 # 和 1+ 次除 whitspace 字符或 # 以外的任何字符

正则表达式演示


以上是正则表达式匹配特定格式的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>