我想在第一次出现"/"直到行的末尾或"/"的下一个实例">
例如:
Test1 / Test 2 / Test 3
Test1 / Test2
Test 1 / Test2 / Test3
Test 1 / Test 2
将返回输出:
Test 2
Test2
Test2
Test 2
到目前为止,我已经提出了(?:[^/\n]+/\s({1}(.*?(?:$|\s/((,它返回结果(请参见regex101演示(:
Test 2 /
Test2
Test2 /
Test 2
我仍在学习regex,并很难弄清楚如何排除"/"根据结果的第1行和第3行,因此对此的任何帮助或指导都将不胜感激。
您可以使用
^[^/n]*/s*([^/n]*?)(?=s*(?:/|$))
请参阅regex演示。在处理独立字符串时,可以随意从模式中删除n
。
详细信息:
^
-字符串的开头[^/n]*
-除换行符和/
之外的零个或多个字符/
-/
字符s*
-零个或多个空白([^/n]*?)
-第1组:除/
之外的任何零个或多个字符以及尽可能少的换行符(?=s*(?:/|$))
-一个正向前瞻,需要在当前位置右侧的零个或多个空白之后有一个/
或字符串末尾