【问题标题】:Regex for matching character or line anchor用于匹配字符或行锚的正则表达式
【发布时间】:2011-11-02 22:13:52
【问题描述】:

我正在尝试编写一个正则表达式来匹配包含在文本限定符中的分隔文件中的条目。如果 X 是字段分隔符,Y 是限定符,a 是条目,则输入字符串的预期形式包括:

XYaaaYXYaaaYXYaaaYX
YaaaYXYaaaYXYaaaYX
XYaaaYXYaaaYXYaaaY
YaaaYXYaaaYXYaaaY

即行的开头和结尾可能有也可能没有字段分隔符。

最终,我试图拉出 YaaaY,但 以分隔符或行开头/结尾为边界。例如,正则表达式应该在 XYaaaYX 和 YaaaYX 上匹配,但在 XYaaaYaaaYX 上不匹配。相当容易,只是我无法确定线路末端的适当“或”条件。

这对于匹配分隔符边界的情况(正则表达式 = XYa*YX)来说是微不足道的,但我不知道如何做 X OR 行首。 [^|X]Ya*Y[X|$] 之类的东西看起来很接近,但不起作用,因为括号弄乱了线锚。

搜索了我能找到的所有讨论 - 我找到的任何内容都无法回答这个问题。有谁知道如何做到这一点?谢谢!

【问题讨论】:

标签: regex


【解决方案1】:

尝试使用分组而不是字符类,例如。

/(^|X)Ya*Y(X|$)/

【讨论】:

  • 太棒了。知道必须是简单的东西。谢谢!
猜你喜欢
  • 2010-09-15
  • 2012-02-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-16
  • 1970-01-01
  • 2013-07-03
相关资源
最近更新 更多