Javascript 试图使用正则表达式来匹配我们网站中的描述
我试图让正则表达式与以下内容匹配:Javascript 试图使用正则表达式来匹配我们网站中的描述,javascript,regex,Javascript,Regex,我试图让正则表达式与以下内容匹配: <p><strong>Surrounded by the stunning mountains of Steinernes Meer in the Austrian Alps</strong></p> 被奥地利阿尔卑斯山上令人叹为观止的施泰纳山脉所包围 在我看来,这应该是可行的: <p><strong>[a-zA-Z0-9 ]<\/strong><\/p> [
<p><strong>Surrounded by the stunning mountains of Steinernes Meer in the Austrian Alps</strong></p>
被奥地利阿尔卑斯山上令人叹为观止的施泰纳山脉所包围
在我看来,这应该是可行的:
<p><strong>[a-zA-Z0-9 ]<\/strong><\/p>
[a-zA-Z0-9]
然而,这似乎不起作用。我错过什么了吗?我认为中间的位应该与任意数量的字母数字字符匹配,并且结尾的位应该与第一部分(工作)相同,但是我添加了一些反斜杠来避免前斜杠。 < P>可以使用以下内容:
(.*)
-返回介于(.*)
标记之间的所有字符的匹配组
const regex=/(.*)/gm;
const str=`被奥地利阿尔卑斯山上令人叹为观止的Steinernes Meer山脉包围`;
log(regex.exec(str)[1])代码>Regex:[\w\s]*
说明:
\w
-匹配字母数字字符,类似于[a-zA-Z0-9]
\s
-匹配空格
我想你忘记了字符类后面的+
。它只匹配一个字符。您需要添加+
或*
(匹配一个或多个/零个或多个次数)来匹配多个字符。Regulex对于检查正则表达式非常有用:谢谢,这正是我所需要的,而且很有效!但是现在我有问题在中间分离部分-如果我使用(*)它只是复制整个事情,但如果我使用的东西,我以前使用它继续返回空。我认为[a-zA-Z0-9]*应该返回任何字母数字字符,这是错误的吗?很高兴能提供帮助@朱利安道歉,在评论结束前按回车键-你有没有机会帮我回答第二个问题?不过还是非常感谢@Jul在正则表达式中,您必须使用量词,例如+
或*
,在您的示例中,您没有它,这就是它返回null的原因。另外,regex.exec
返回一个包含所有匹配项的数组,考虑到这一点。这很有意义,感谢您的澄清。我现在要做的是匹配文本部分(没有位)-我假设(.*)可以匹配,但出于某种原因它返回/(.*)/