我对这个问题感到疯狂,我尝试从以下字符串中提取“拉丁语”句子(比原来短):
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"
所以我不明白我的代码中我做错了什么,但我没有得到相同的结果。
感谢您的帮助。
的Yoann
答案 0 :(得分:4)
> "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