我想要的是这样的东西:
(
[integer OR (ANY but not integer or white-space)]
[(ONE white-space OR NONE)]
[integer OR (ANY but not integer or white-space)]
)
将匹配的字符串示例:99 $
99$
$ 99
$99
我现在有两个正则表达式:
^[^'d's]('s{0,1})'d+
和^'d+('s{0,1})[^'d's]
关于如何仅用一个正则表达式替换这两个的任何想法?
在正则表达式中制作 or 的标准方法是管道|
(ref)
如果您需要匹配正则表达式中的一个或另一个,则需要将(A|B)
与 A= ^[^'d's]('s{0,1})'d+
和 B= ^'d+('s{0,1})[^'d's]
结果是^(([^'d's]('s{0,1})'d+)|('d+('s{0,1})[^'d's]))
"|"是正则表达式中的"or"等价物。将它们分组并放置 |介于两者之间。
[^'d's]('s{0,1})'d+|^'d+('s{0,1})[^'d's]
适用于您的示例。
^((?:'d+'s?[^'d's]+)|(?:[^'d's]+'s?'d+))$
试试这个。请参阅演示。
https://regex101.com/r/hI0qP0/2