分离。在我要匹配的第一样本的字符串Mortal
匹配由斜杠
输入1:
=Mortal
正则表达式1:
=(.+)
输出1:
MATCH 1
1. [1-7] `Mortal`
正如我所愿。
在第二样品中,我想匹配Mortal
和Combat
输入2:
=Mortal/Combat
正则表达式2:
=(.+)\/(.+)
输出2:
MATCH 1
1. [1-7] `Mortal`
2. [8-14] `Combat`
正如我所愿。
我的问题是,我想要一个解决方案,两个都行。
如果我在=Mortal
上使用=(.+)\/(.+)
它与没有任何关系。
如果我在=Mortal/Combat
使用=(.+)
它匹配:
MATCH 1
1. [1-14] `Mortal/Combat`
两者是不正确的。
试过把它们合并起来:
=((.+)\/(.+)|(.+))
相匹配:
MATCH 1
1. [1-14] `Mortal/Combat`
2. [1-7] `Mortal`
3. [8-14] `Combat`
或者:
MATCH 1
1. [1-7] `Mortal`
4. [1-7] `Mortal`
绝对不正确。
所需的输出值应为:
MATCH 1
1. [1-7] `Mortal`
或者:
MATCH 1
1. [1-7] `Mortal`
2. [8-14] `Combat`
也将是冷静,如果将它与三条斜线兼容:=Mortal/Combat/X
应该成为:
MATCH 1
1. [0-6] `Mortal`
2. [7-13] `Combat`
3. [14-15] `X`
我该如何做到这一点?
我使用http://regex101.com来测试正则表达式。