我有以下字符串
https://www.example.com/int/de
并且想要匹配url末尾的语言代码,例如'de‘我用这个正则表达式来做这件事
/\..*\/.*\/([^\/?]*)\/?$/gi
如果URL以斜杠结尾,我也希望得到相同的结果
但是使用https://www.example.com/int/de/
时,我只得到一个完全匹配,但是组不再匹配'de‘,尽管在正则表达式中最后一个斜杠是可选的
有人能纠正我的错误吗?
发布于 2018-05-28 18:03:58
发布于 2018-05-28 17:50:24
问号matches zero or 1 character。你需要不止一个匹配"de“。尝试使用.*
或.+
而不是?
。
顺便说一句,可能更易维护的RegEx应该是:/.*\/([^/]*)\/?$/gi
该正则表达式表示“匹配任何内容(.*
),后跟一个正斜杠(\/
),然后是非正斜杠的内容,零次或多次([^/]*
),然后是可选的正斜杠(\/?
),然后是文本结尾($
)”。这样,最后一个正斜杠和语言部分之前的所有字符都将在正则表达式的“match anything”部分中匹配。请注意表示语言匹配的部分周围的圆括号。
https://stackoverflow.com/questions/50563485
复制相似问题