如何编写匹配单词末尾下划线后仅两个字母的正则表达式
解决方案
你需要的正则表达式可以精准匹配字符串末尾的下划线加恰好两个字母,具体如下:
_[a-zA-Z]{2}$
正则说明
_:匹配下划线本身,确保目标部分以开头下划线为标志[a-zA-Z]{2}:匹配恰好两个大小写英文字母,{2}限定了字符数量必须是2个$:锚定到字符串末尾,保证匹配的内容是整个字符串的最后部分,不会匹配中间的类似结构
匹配验证
- 对于
name_lang_en:末尾的_en完全符合规则,会被成功匹配 - 对于
opening_time或closing_time:末尾下划线后是4个字母(time),不满足{2}的数量要求,因此不会匹配任何内容
关于你原正则的问题
你之前尝试的[^_]+$是匹配字符串末尾所有非下划线的字符,既没有包含下划线,也没有限制字符长度,所以无法满足你的需求。
如果需要支持Unicode语言的字母(比如中文、日文等),可以使用支持Unicode属性的正则引擎,将正则改为:
_\p{L}{2}$
其中\p{L}代表任意Unicode字母。
内容的提问来源于stack exchange,提问作者Zviad Melitskauri
相关产品推荐
相关产品推荐

