2013-11-04 58 views
2

Helllo,Ajax请求returs我一个字符串,我存储在一个变量:JavaScript的正则表达式选择两个词之间的单词

text = "bla bla bla word1 unknown. Word2 bla bla bla"; 

我知道在文本中的每一个字,除了“未知”。我需要将“未知”字存储在变量中以进行进一步的工作。我知道这可以通过Regex完成,但我不太明白。有人能告诉我这个窍门吗?感谢您的时间!

+1

你看医生谷歌的正则表达式?你尝试了什么? – Noctis

+1

如果它总是一个固定长度的字符串,只需使用'substr()'来提取该部分。 – alex

回答

0

word1\s+([^.]*).\s*Word2应该这样做。

更一般地,

word1\s+(\S+)\s+[wW]ord2 

这会发现“词”由“WORD1”之前和之后“单词2”或“字2”(非空格字符)。唯一可能需要的是删除非单词字符(如句号)。

+0

对不起,一个愚蠢的问题,但如何将它保存在一个变量? 是否这样? data = RegExp('word1'\ s +([^。] *)。\ s *'word2',data); – user2840278

+0

'new Regexp(word1 +“regex”+ word2)''。请记住要转义任何使用另一个反斜杠的反斜杠。例如:'var regex =/\ w /'与'var regex = new RegExp(“\\ w”)'相同。 – thgaskell

相关问题