为了您的最后一行,我不知道有一种方法来加入该组1组3成一个组。
这是我建议的解决方案。它不会捕获前视点周围的空间。
^(?:\h*([a-z\h]+\b)\h*)?(?:\/([a-z\h]+)\/)?(?:\h*([a-z\h]+\b)\h*)?$
要正确匹配名称,请注意使用不敏感标志,如果您一次测试所有行,请使用多行标志。
^
线的起点(?:\h*([a-z\h]+\b)\h*)?
与0或1次匹配的第一个非捕获组:
\h*
0个或更多水平空间([a-z\h]+\b)
捕获一组字母和空格,但在最后一个单词的末尾停止\h*
匹配可能的剩余空间而不捕获(?:\/([a-z\h]+)\/)?
第二个非捕获组,与捕获组中用斜杠包围的名称匹配0或1倍(?:\h*([a-z\h]+\b)\h*)?
第三非捕获组与第一个相同,捕获第三组中的名称。$
队伍的尽头本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句