使用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