[英]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.62
或25.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.