[問題] 找第一個</b>前的數字

看板RegExp (正規表示式 Regular Expression)作者 (阿否)時間6年前 (2018/01/22 11:17), 6年前編輯推噓4(405)
留言9則, 2人參與, 6年前最新討論串1/1
String ss=" <TR><TH scope="row" valign="top" align="left" width="10%" nowrap>Appl. No.: </TH><TD align="left" width="90%"> <b> 08/940,685</b></TD></TR> <TR><TH scope="row" valign="top" align="left" width="10%">Filed: </TH><TD align="left" width="90%"> <b>September 30, 1997</b></TD></TR> </TABLE> ... " 我希望得到的是"940,685",從"Appl. No"開始 由於中間有換行 我用 str = "" + new Regex(@"Appl. No.:[^*]*?\/(.*)?(</b>)", RegexOptions.IgnoreCase).Match(ss).Groups[1]; 去搜尋,從測試網站 http://regexstorm.net/tester 來看應該是正確的。 不過用C#實際輸出:console.writeline(str); 會變成整個ss字串一起出來..,如果改成groups[2] 又能正常輸出</b>的結果出來 求解.. 語言:C# 環境:visual studio 2017 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.231.168.220 ※ 文章網址: https://www.ptt.cc/bbs/RegExp/M.1516591026.A.6A4.html ※ 編輯: alpho (36.231.168.220), 01/22/2018 11:17:48 ※ 編輯: alpho (36.231.168.220), 01/22/2018 11:18:10

01/22 19:25, 6年前 , 1F
看不懂你真正想要的是什麼,到底是只要<\b>之前的數字就好
01/22 19:25, 1F

01/22 19:26, 6年前 , 2F
還是連前面的Appl. No.: <TH>....<b> 08/ 都要
01/22 19:26, 2F

01/22 19:30, 6年前 , 3F
如果只要數字就好,(<\b>)的()要去掉
01/22 19:30, 3F

01/22 19:31, 6年前 , 4F
然後我在你給的網站測試,貼上你的資料跟規則,找不到東西
01/22 19:31, 4F

01/22 19:33, 6年前 , 5F
把規則改成 Appl..\nNo.:[^*]*?\/(.*)?</b> 才是你要的結果
01/22 19:33, 5F
thx 求的就是那個數字 然後大概是被換行了,appl那不換行的話我的規則是可行的。 後面的(\b)只是另加個group來做測試 一樣用程式去讀然後輸出 結果g2是正常的這樣 就是group1會有問題 ※ 編輯: alpho (36.231.168.220), 01/22/2018 20:53:05

01/22 22:31, 6年前 , 6F
我看書上是寫 Groups[0] 後面加上.value取得捕捉到的文字
01/22 22:31, 6F

01/22 22:32, 6年前 , 7F
Groups[0]是比對成功的文字,Groups[1]才是捕捉分組的內容
01/22 22:32, 7F

02/09 01:50, 6年前 , 8F
隨手試了一下,沒辦法重現你的問題……
02/09 01:50, 8F

02/09 01:50, 6年前 , 9F
文章代碼(AID): #1QPLUoQa (RegExp)
文章代碼(AID): #1QPLUoQa (RegExp)