最近剛好有遇到正規表示法的需求,研究了一下用法及其表示的意思。
但真的就如同網路上所搜尋到的教學一樣,非常困難。
有個問題是我想透過正規表示法擷取字串。(Substring的做法也行,但想試試別種)
假設有個string input = "01234567890123456789";
我需要擷取,字串第二個開始從後面數來三碼(也就是567)
我研究出來使用正規表示法 .*(?<aaa>.{3}).{2}
![]()
這種方式擷取出來,會以Group的方式呈現,
所以只要去抓 aaa 這個group 即可。 如圖:
![]()
問題一:
但是,我不想要使用Group ,想要直接Match String出來就是我要的結果。
這樣有辦法嗎?我直接改成 .*(.{3}).{2} 就抓不到我要的"567"了
以下這個例子就沒有使用到Group,直接Match String就有結果了。
![]()
網頁測試 Regex:
![]()
問題二:
P.S :以上兩種方式都可以取出要的東西,有使用Group和沒有使用Group有啥差別呢??
※ 引述《don750421 (1+1≠2)》之銘言:
: Regex 中 有一個屬性是 RightToLeft。
: 想請問一下,假設我的字串為
: string a =
: "The 2D matrix representing an image.Rotate the image by 90 degrees";
: 如果我要擷取由右邊第8的字元擷取至,由右邊數來第11個字元。
: 也就是,我要取得 "90" 這個字串。
: 想請問可以透過Regex做到嗎??