日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java正则表达式 引用_java – 正则表达式检索引用的字符串和引用字符

發布時間:2024/8/5 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java正则表达式 引用_java – 正则表达式检索引用的字符串和引用字符 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我有一種語言,它將一個字符串定義為單引號或雙引號,通過加倍將字符串轉義為字符串中的分隔符.例如,所有以下內容都是合法字符串:

'This isn''t easy to parse.'

'Then John said,"Hello Tim!"'

"This isn't easy to parse."

"Then John said,""Hello Tim!"""

我有一個字符串(上面定義)的集合,由不包含引號的東西分隔.我正在嘗試使用正則表達式,是解析列表中的每個字符串.例如,這里是一個輸入:

“Some String #1” OR ‘Some String #2’ AND “Some ‘String’ #3” XOR

‘Some “String” #4’ HOWDY “Some “”String”” #5″ FOO ‘Some ”String” #6’

用于確定字符串是否具有這種形式的正則表達式是微不足道的:

^(?:"(?:[^"]|"")*"|'(?:[^']|'')*')(?:\s+[^"'\s]+\s+(?:"(?:[^"]|"")*"|'(?:[^']|'')*')*

運行上面的表達式來測試它是否是一個這樣的形式,我需要另一個正則表達式從輸入中獲取每個分隔的字符串.我打算這樣做:

Pattern pattern = Pattern.compile("What REGEX goes here?");

Matcher matcher = pattern.matcher(inputString);

int startIndex = 0;

while (matcher.find(startIndex))

{

String quote = matcher.group(1);

String quotedString = matcher.group(2);

...

startIndex = matcher.end();

}

我想要一個正則表達式捕獲組#1中的引號字符,組#2中的引號內的文本(我正在使用Java Regex).所以,對于上面的輸入,我正在尋找一個正則表達式,在每個循環迭代中產生以下輸出:

Loop 1: matcher.group(1) = "

matcher.group(2) = Some String #1

Loop 2: matcher.group(1) = '

matcher.group(2) = Some String #2

Loop 3: matcher.group(1) = "

matcher.group(2) = Some 'String' #3

Loop 4: matcher.group(1) = '

matcher.group(2) = Some "String" #4

Loop 5: matcher.group(1) = "

matcher.group(2) = Some ""String"" #5

Loop 6: matcher.group(1) = '

matcher.group(2) = Some ''String'' #6

到目前為止我已經嘗試過的模式(未轉義,隨后為Java代碼轉義):

(["'])((?:[^\1]|\1\1)*)\1

"([\"'])((?:[^\\1]|\\1\\1)*)\\1"

(?")(?(?:[^"]|"")*)"|(?')(?(?:[^']|'')*)'

"(?\")(?(?:[^\"]|\"\")*)\"|(?')(?(?:[^']|'')*)'"

當嘗試編譯模式時,這兩個都會失敗.

這樣的正則表達式是否可能?

總結

以上是生活随笔為你收集整理的java正则表达式 引用_java – 正则表达式检索引用的字符串和引用字符的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。