Javascript - 正则表达式不一致匹配

标签 javascript regex

我对这个问题感到疯狂,我尝试从以下字符串中提取“拉丁”句子(比原始字符串短):

My Name is Yoann

ホームインサイト最新のインサイト運用チームからの最新のマーケ
ットアップデート、運用アップデートマーケットアップデート市場環境情報に関す
るレポート投資アップデート投資環境情報レポート及び出版物運用戦略運用戦略
ファーストステート・スチュワートアジア・パシフィック、グローバル・エマージング・マーケット、ワールドワイド株式

Hello World

这是正则表达式:

...
//text=My Name is Yoann...
pattern = new RegExp("([A-Za-z]+[\s]?[A-Za-z])+", "g");
results= text.match(pattern);

当我运行它时,我得到:

//results[0]="My"
//results[1]="Name"
//results[2]="is"
//results[3]="Yoann"
//...

单词按“空格”分开。当我尝试http://regexlib.com时(JS客户端引擎)测试员或http://regexpal.com ,结果是:

//results[0]="My Name is Yoann"
//results[1]="Hello World"

所以我不明白我在代码中做错了什么,但我没有得到相同的结果。

感谢您的帮助。

约安

最佳答案

> "foo bar".match(new RegExp("[a-z]\s[a-z]"))
null
> "foo bar".match(new RegExp("[a-z]\\s[a-z]"))
["o b"]

使用 RegExp 构造函数时,请将斜杠加倍。更好的是,使用正则表达式文字,例如

/[A-Z][A-Z\s]*[A-Z]|[A-Z]/gi

http://jsfiddle.net/4PdJh/1

关于Javascript - 正则表达式不一致匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18713258/

相关文章:

使用 Sublime 的正则表达式

javascript - Node.js:如何从请求正文中获取调用 POST 的页面的 URL?

javascript - 如何使用另一个文本区域编辑文本区域值?

javascript - jquery 注册表单,如果语句不起作用,则发送电子邮件

javascript - 如何将音频数据数组转换为 wav 文件?

javascript - 在javascript中使用正则表达式进行序列重复验证

javascript - 如何在服务器上查找 MongoDB 数据。 Docker部署的代码?

java - android java正则表达式匹配除一个字符外的所有字符

regex - 如何在 NXLog 中使用 RegEx 对多行 XML 进行模式化

php - 如何用\"替换引号