使用http://www.regexr.com/试图获得仅匹配字母,空格和标点符号的正则表达式。例如,我有一堆数据,如下所示:正则表达式不允许使用数字
1. "Ever stop to think, and forget to start again?" - Some Guy
等等。我如何使用正则表达式来抓取除最初的数字和句点之外的所有内容?
我的正则表达式现在是如下,但似乎抢号:
^(\s+|\d+|\w+|[^\d\s\w])+$
使用http://www.regexr.com/试图获得仅匹配字母,空格和标点符号的正则表达式。例如,我有一堆数据,如下所示:正则表达式不允许使用数字
1. "Ever stop to think, and forget to start again?" - Some Guy
等等。我如何使用正则表达式来抓取除最初的数字和句点之外的所有内容?
我的正则表达式现在是如下,但似乎抢号:
^(\s+|\d+|\w+|[^\d\s\w])+$
只需更换数字和期开出的字符串:
var str = '1. "Ever stop to think, and forget to start again?" - Some Guy';
console.log(str.replace(/^\d+\. /, ''));
正则表达式,\d+\.
正在寻找:
^
,\d+
,\.
,
然后,它取代了匹配部,1.
,用一个空字符串。
我正在使用遵循JS语法的刮板,但除此之外不允许其他任何东西。 – user1721449
@ user1721449:这意味着你不能使用JS? – Cerbrus
不是以标准的方式,我只将它标记为JS,因为它使用的语法如此。 – user1721449
随着replace
:str.replace(/^[0-9. ]+(.*)/, '$1')
。
Look-behind在Javascript中不被支持,所以这不能用匹配来完成(并且在支持语言的时候,模式“在后面看”通常不能具有可变长度)。但是你可以匹配".*
或[ ].*
之类的东西。
你可以只换你捕获组周围的一切除了你行的开始,其中应包括具体的模式,以排除..所以:
^\d+\.\s(.*)$
使用应你的空间特别是在返回后的一切后面的数字和句点,但只有在那些在
Unicode字母呢? –
没有太多的正则表达式经验,所以我不太确定我遵循。 – user1721449
您链接的网站上有一个cheatsheet ...使用它。 – Cerbrus