2013-02-23 79 views

回答

3

點(.)匹配任何(1)個字符; .+至少長度爲1的串相匹配,.*至少長度爲0

+0

發佈更多信息,然後... – robertklep 2013-02-23 20:20:21

+0

dfq,不適用於所有符號!!!!!! – 2013-02-23 21:30:56

3

的週期被用來表示這不是一個換行的任何字符,但以表示可以使用一組與任何字符的字符串相匹配2臺互補套,像所有的字母數字字符和所有非字母數字字符:

str = str.replace(/\w*([\W\w])/g, "($1)"); 

,如果你想匹配多於一個,你必須指定多少,將匹配單個字符。例如,[\W\w]{1,3}會匹配1至3個字符。 [\W\w]+會將所有內容都匹配到字符串的末尾。

請注意,您不需要像這樣的簡單替換的回調,只需要用第一個捕獲值替換$1的字符串。


編輯:
試想想它,因爲字符以下一組匹配的字母數字字符,它必須非字母數字,所以才\W會做:

str = str.replace(/\w*(\W)/g, "($1)"); 
+0

@FreezyIze:當我嘗試它時,我會得到完全預期的輸出。演示:http://jsfiddle.net/EaJSq/1/ – Guffa 2013-02-23 20:21:10

+0

........ = null – 2013-02-23 20:35:35

+0

很好的答案,但它不搜索「任何字符串」。 – 2013-02-23 20:38:16

相關問題