这个正则表达式如何返回_ _下划线作为最后一个字符的字符串呢?
它应该只返回带有字母字符的字符串,混合使用大写和小写字母。
However, the regular expression returns: 'action_'
$regEx = '/^([a-zA-Z])[a-zA-Z]*[\S]$|^([a-zA-Z])*[\S]$|^[a-zA-Z]*[\S]$/';
答案 0 :(得分:5)
因为\ S表示“不是空白字符”,\ S匹配_
一个小组不应该有一个下划线,所以,如果你的意思是,你可能会得到整个比赛,而不仅仅是第一组。
如果需要,请说明如何使用正则表达式来澄清这一点。
答案 1 :(得分:2)
[\S]
将匹配所有非空格的内容,包括下划线。
而且,你的表达很奇怪!
如果您想要一个仅包含字母的字符串,请使用^[a-zA-Z]*$
或^[a-zA-Z]+$
(取决于是否允许空白)。
如果您正在尝试做其他事情,则需要扩展它的内容。
答案 2 :(得分:0)
\ S匹配任何非空白字符 - 因此_
答案 3 :(得分:0)
您应该显示文本以及要从中提取的部分。 正则表达式不应该像你的那样大。
处理小型表达批次......在这个规模上,很难帮助你。