看板 Web_Design 關於我們 聯絡資訊
※ 引述《gn00618777 (非常念舊)》之銘言: : 版友好 : string1="test1" : string1.match("test") 回傳 test,因為test1包含test : 可是我的用意是希望她回傳 null,因為我搜尋是要搜尋 test 而已非 test1 : 而這類的問題,linux 的 shell 可以用 ^(字首)$(字尾)來解決,請問js : 要怎麼解決呢? 謝謝。 HI 我問題還是沒解決... var st="test1 test"; alert(st.match(/\b"test"\b/)) ---> null alert(st.match(/\btest\b/)) ---> test (成功) 問題來了,裡面似乎是要 test 而不是 "test",但我程式裡的test就是一個"字串" 變數,所以得到的變數值自然就會帶""雙引號,這樣加入//b 變數 /b/就會失敗.. 謝謝 >"< 謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.169.66.230 ※ 文章網址: https://www.ptt.cc/bbs/Web_Design/M.1421592248.A.E63.html ※ 編輯: gn00618777 (118.169.66.230), 01/18/2015 22:54:03
LPH66: 不要加引號, 那會被當成 regexp 的一部份 01/18 22:51
LPH66: 我的推文裡也沒有引號就是這樣 01/18 22:52
LPH66: javascript 的 regexp 物件是由 / / 分隔的 01/18 22:52
LPH66: 一個"字串"變數? 有簡單的程式嗎? 01/18 23:06
gn00618777: 我有一個 text,假設輸入 123,這個123字串,我會放至 01/18 23:07
LPH66: 啊, 我看懂你的問題了...這樣的話, 顯式建立 regexp 物件 01/18 23:13
LPH66: st.match(new RegExp("\\b"+stringvar+"\\b")) 01/18 23:14
LPH66: 這樣建立 regexp 物件時就不用 / / 了, 但是因為是給字串 01/18 23:14
LPH66: 所以 \ 要寫兩次 01/18 23:14
LPH66: 也因為給字串所以就能夠放變數進去了 01/18 23:15
gn00618777: = =d ,L大真強..我剛打好範例的說 ,我先試看看 01/18 23:25
gn00618777: 她成功了..只是我不懂L大說的..RegExp,我會再研究 01/18 23:33
gn00618777: 謝謝。 01/18 23:33
rarex: RegExp就是正規表示法的物件 可以讓你用變數拼湊你的正規式 01/18 23:55
rarex: /test/就等同於new RegExp('test')這樣 01/18 23:56
gn00618777: http://ppt.cc/9bJj 這邊有不錯的解釋 01/19 09:18
gn00618777: 謝謝。 01/19 09:19