[問題] 如何只match 前後相同的字串?

看板RegExp (正規表示式 Regular Expression)作者 (autumned)時間12年前 (2011/11/11 19:11), 編輯推噓2(2011)
留言13則, 4人參與, 最新討論串1/1
/* 聽說註明使用的語言、環境 * 問題有可能較容易被解決... */ m/^[a-c]\.[^a-wA-Z0-9\W]\s\d{3}\#$/ 如題 在玩一些challenge site裡面有一題是要輸入一個符合這個表示式的字串 不過我發現我對於放在[]外面的^跟$有些困惑? 他們的作用範圍是? 下行是我以為的答案@@ 不過不對 a.@ 000# 我自己的理解是這樣 m/ ^ [a-c] \. [^a-wA-Z0-9\W] \s \d{3} \# $ / 頭 以a-c開頭 . 一個非字母數字的字元 我打了一個tab 三個數字 # 結尾 請問哪裡錯了呢@@ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.18.221

11/11 19:15, , 1F
啊 我發現了 [^a-wA-Z0-9\W] == [xyz] ....
11/11 19:15, 1F

11/11 20:20, , 2F
應該還有一個underscore_吧
11/11 20:20, 2F
上面我自問自答了 那利用這邊 再問個問題 要怎麼才能表示出 想要match到兩個相同的東西呢 例如 [0-9]+ [0-9]+ 可以match 一串數字(空白)一串數字 但我希望只match 前面那串跟後面那串數字是相同的 string 有辦法嗎? 例如 234 234 通過 但234 235 不行... ※ 編輯: autumned 來自: 218.166.109.16 (11/11 22:08)

11/11 23:44, , 3F
第一個用 () 抓起來 第二個用 \1 表示
11/11 23:44, 3F

11/11 23:45, , 4F
像是 ([0-9]+)\1 這樣
11/11 23:45, 4F

11/12 00:04, , 5F
啊啊 原來有這招!! 感謝@w@
11/12 00:04, 5F

11/12 00:12, , 6F
疑 剛剛測式怎麼怪怪的@@"
11/12 00:12, 6F

11/12 00:13, , 7F
Python要寫成\\1嗎 還是每個語言都要@@?
11/12 00:13, 7F

11/12 00:15, , 8F
疑 應該是我沒用raw的關係..@@
11/12 00:15, 8F

11/19 13:37, , 9F
分享那些site嗎?
11/19 13:37, 9F

11/19 13:37, , 10F
可以
11/19 13:37, 10F

11/19 14:43, , 11F
www.rankk.org
11/19 14:43, 11F

11/19 14:44, , 12F
但是內容很廣 各種領域的東西都有@@
11/19 14:44, 12F

11/19 14:45, , 13F
會用到regex只佔一小部分而已@@
11/19 14:45, 13F
文章代碼(AID): #1ElGB9IZ (RegExp)
文章代碼(AID): #1ElGB9IZ (RegExp)