Regex 正则表达式将最后一个空格后的所有内容与最多2或5个字符的单词匹配
首先,它需要匹配字符串的最后一个空格 “这是一个测试NL”,代码Regex 正则表达式将最后一个空格后的所有内容与最多2或5个字符的单词匹配,regex,Regex,首先,它需要匹配字符串的最后一个空格 “这是一个测试NL”,代码(.*\s)我得到了单词NL “这是一个测试NL-NL”,代码(.*\s)我得到了单词NL-NL 但是 “这是一个测试NL搜索”,代码(.*\s)我得到了单词Search这是错误的。它不应该返回任何东西 最后一个单词my有2或5个字符(带有特殊字符-或/)。这是反编码,但不起作用 (.*\s)(\w{2}|\w-/{5}) 如果您想使用一个和另一个选项捕获值(或使其不捕获(?:),或者使用|匹配2个单词字符或匹配列出的其中一个字符
(.*\s)
我得到了单词NL
“这是一个测试NL-NL”,代码(.*\s)
我得到了单词NL-NL
但是
“这是一个测试NL搜索”,代码(.*\s)
我得到了单词Search
这是错误的。它不应该返回任何东西
最后一个单词my有2或5个字符(带有特殊字符-
或/
)。这是反编码,但不起作用
(.*\s)(\w{2}|\w-/{5})
如果您想使用一个和另一个选项捕获值(或使其不捕获
(?:
),或者使用|
匹配2个单词字符或匹配列出的其中一个字符的5倍),则可以使用捕获组
^.*\s(\w{2}|[\w/-]{5})$
请注意,\s
也可以匹配换行符
如果
/
和-
不能连续出现两次,而不是在开始或结束时,并且必须至少出现一次:
^.*\s(\w{2}|(?=[\w/-]{5}$)\w+(?:[/-]\w+)+)$
或者将字符串的第二部分设置为可选
^.*\s([a-zA-Z]{2}(?:[/-][a-zA-Z]{2})?)$
您可能正在寻找类似
(?^..*\s(?=(?:\w{2}|[\w\/-]{5})$)|+
?显示您如何使用正则表达式。@ftftft32模式与该字符串不匹配您如何使用该模式?