我需要一个正则表达式来匹配 url 中三个“/”字符之间的前两个词:例如。在/en/help/test/abc/def 中它应该匹配/en/help/。
我使用此正则表达式:/.*?/(.*?)/
但是有时我的 url 没有最后一个斜杠,例如/en/help,由于缺少最后一个,因此不匹配削减。
你能帮我调整正则表达式以只匹配“/en/help”部分吗?谢谢
最佳答案
解决它的一个简单方法是用贪婪的([^/]*)
替换不情愿的(.*?)/
:
/.*?/([^/]*)
如果有第三个斜杠,这将在第三个斜杠处停止,如果没有最后一个斜杠,则在字符串末尾停止。
请注意,为了保持一致性,您可以将 .*?
替换为相同的 [^/]*
表达式:
/[^/]*/([^/]*)
关于c# - 匹配正则表达式中的可选斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47940125/