作者clanguage (C語言)
看板RegExp
標題[問題] 請問如何排除井號
時間Fri Jun 17 00:22:00 2011
想請問一下這是我現有的表示式, 使用 perl
if ($line_data =~ m/\[(.*)\]$/) {
...
}
檔案格式是這樣
Notepad - [I:\_source\Win_vc\Test.cpp*]
我希望抓出 [] 內的東西除了星號
[註記一下: 星號不一定會存在]
想不透 QQ"
感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.57.131.154
1F:→ bibo9901:抓出來再把星號拿掉? 06/17 00:39
2F:推 LPH66:/\[(.*)\*\]$/ 這樣就好啦...要 * 這個字就用 \* 就好 06/17 00:42
3F:→ LPH66:如果星號不固定出現就再黏個 ? 上去就好 06/17 00:42
4F:推 No:如果星號只會在那位置出現,可用 /\[([^*]*)(?=\**\])/ 06/17 00:43
5F:→ No:如果位置不固定..我想不出一次解XDD 06/17 00:44
6F:→ clanguage:抱歉沒講清楚 那個星號有可能存在 有可能不存在 06/17 00:48
※ 編輯: clanguage 來自: 61.57.131.154 (06/17 00:49)
7F:→ clanguage:所以 LPH大的方法可能不行應該他會抓到整個符合才行對吧 06/17 00:50
8F:→ clanguage:這個 case 位置是固定的 06/17 00:50
9F:→ PurpleCrow:/\[([^\*\]]+)/ 06/17 20:13
10F:→ supra126: /\[([^\*]+)\]/ 06/17 22:43
11F:→ blackkaku:/\[(.+[^*])\*?\]/ 06/18 17:10
12F:→ clanguage:謝謝各位 我有另外用假日 study 了一下 感謝 06/19 21:40
13F:推 LPH66:呃 我不是有說不固定出現就再黏個 ? 上去嗎 orz 06/20 23:22
14F:→ PurpleCrow:supra126兄,你的方式如果有*會抓不到喔 06/22 15:00
15F:推 godspeedlee:windows or linux都不允許檔名有*,應該沒關係 06/25 16:41
16F:→ godspeedlee:當然,這是假設原po的資料來源 06/25 16:42
17F:→ PurpleCrow: [註記一下: 星號不一定會存在] 代表*可能會存在 06/26 06:18
18F:→ PurpleCrow:這似乎不是很"精確"的做法 06/26 06:20
19F:推 godspeedlee:您對了,那就是假設錯誤 06/30 03:03