Re: [請益] 正規表示法

看板PHP作者 (夏天到了,冷不起來了說)時間11年前 (2013/06/11 11:35), 編輯推噓4(4010)
留言14則, 6人參與, 最新討論串3/3 (看更多)
借題問一下 最近被一個需求搞到亂掉, 目前把它簡化到成這樣 比如我輸入123 要找到符合 123開頭 後面接非數字開頭的字串 符合 123 123AB 123AB12 排除 1234 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.74.83.247

06/11 11:40, , 1F
^123[^0-9]*
06/11 11:40, 1F

06/11 11:59, , 2F
這樣1234AB12也被排除了吧
06/11 11:59, 2F

06/11 12:37, , 3F
你test case多列一些吧
06/11 12:37, 3F

06/11 12:39, , 4F
而且1234AB12照你敘述不是本就該排除嗎
06/11 12:39, 4F

06/11 12:46, , 5F
1234AB12也該排除不是嗎@@
06/11 12:46, 5F

06/11 12:48, , 6F
不然這樣試試 ^123([^0-9\n].*|$)
06/11 12:48, 6F

06/11 13:15, , 7F
不好意思打錯,是123AB12被排除
06/11 13:15, 7F

06/11 13:18, , 8F
一開始是找 123(![0-9]*)$ 不過!應該是不代表"非"的意思
06/11 13:18, 8F

06/11 14:01, , 9F
在regex裡 !就只是個驚嘆號 既不卑微 也不偉大的驚嘆號
06/11 14:01, 9F

06/11 14:43, , 10F
preg_match("/^$input(?:\D+\w*|)$/", $search, $m);
06/11 14:43, 10F

06/11 14:47, , 11F

06/11 16:12, , 12F
$pattern = "/^\d{3,3}\D(.*)/i" 這樣有符合你的需求嗎?
06/11 16:12, 12F

06/11 17:25, , 13F
^123($|[a-zA-Z]+\d*$) 目前自己找出的解
06/11 17:25, 13F

06/12 15:23, , 14F
^123[^\d].*
06/12 15:23, 14F
文章代碼(AID): #1Hjfhuvg (PHP)
文章代碼(AID): #1Hjfhuvg (PHP)