繁体   English   中英

正则表达式匹配不同情况下字符之前或之后的内容

[英]Regex to match what's before or after a character in different situations

我在编写正则表达式时遇到了一些麻烦

我想要实现的是,我想匹配以下字符串6.62 X 25.250755 L但只匹配X字符之后的内容,或者可能在某些情况下我必须匹配以下字符串25.250755 X 6.62在这种情况下我需要匹配之前的内容X字符和最后一种情况是当我有这样的东西时: 25.250755 LX 6.6225.250755LX 6.62 (有或没有空格,有或没有L字符)

到目前为止,这是我所拥有的,但还不够,我不知道如何在此继续形成

/[Xx]([\s\S]*)$/gm

([0-9]*[.])?[0-9]+ ?L? X ([0-9]*[.])?[0-9]+ ?L? 应该管用。

对于您的示例数据,您可以使用捕获组重复一个组以捕获上次迭代的值。

(?: ?\b(\d+(?:\.\d+)) ?[XL])+\b
  • (?:非捕获组
    • ?\\b匹配一个可选的空格和一个单词边界
    • (捕获组 1
      • \\d+(?:\\.\\d+)匹配 1 个或多个带有可选小数部分的数字
    • )关闭第 1 组
    • ?[XL]匹配一个可选的空格和 X 或 L
  • )+关闭非捕获组并重复 1 次或多次
  • \\b一个词边界

正则表达式演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM