如何解决单词的正则表达式
| 我在用PHP做一个字符串解析问题。我想要字典中一个单词的正则表达式。该单词只能包含A-Z和a-z。我想出了这个正则表达式,但这似乎不起作用。有人可以帮忙吗?$regexp = \"/[A-z]+/\";
if(preg_match($regexp,$buffer)){
print $buffer . \"<BR>\";
}
添加rkt的注释以提高可访问性
当前正在使用此正则表达式
$regexp = \"/[A-Za-z]+/\";
但是仍然印刷了许多不相干的单词,例如。
a.new,#quickbar a.new{color:#ba0000} enwiki:resourceloader:filter:minify-css:5:f2a9127573a22335c2a9102b208c73e7 wgNamespaceNumber=0;
wgAction=\"view\";
wgPageName=\"Roger_Federer\";
wgMainPageTitle=\"Main Page\";
wgWikimediaMobileUrl=\"http:\\/\\/en.m.wikipedia.org\\/wiki\";
document.writeln(\"\\x3cdiv id=\\\"localNotice\\\"\\x3e\\x3cp\\x3e\\x3c/p\\x3e\\n\\x3c/div\\x3e\");
解决方法
如果您只想匹配整个单词...
/\\b[A-Z]+\\b/i
, 除了Limo Wan Kenobi指出的问题之外,您的正则表达式并没有按照您认为的做。
/[A-Za-z]+/
所有这些检查是,无论哪种情况,字母都出现在输入中的某处。如果您的输入如下所示:
1111112222222333333333A333333444444555555567
它将仍然匹配。
您要查找的是以下正则表达式:
/^[A-Za-z]+$/
这将匹配字符串的开头,然后是一个或多个字母,最后是字符串的结尾。现在,除了字母,别无其他空间!
, 您的正则表达式应为
$regexp = \"/[A-Za-z]+/\";
, 您可能会检查我的答案,即如何用空格和标点符号分割JavaScript字符串?其中包含JavaScript,可用于将英语文本分解为单词和标点符号的数组,其中单词可以带连字符(定义明确)或复合(不会)。
, 正则表达式应为ѭ8,考虑到与字典中的单词匹配,您可能想要的限制更严格,因为单词通常在任何奇数位置都没有大写字母。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。