簡體   English   中英

如何在Java中為帶括號的字符串編寫正則表達式?

[英]How to write a regex in java for a String with parenthesis?

我試圖解析Java中的C語言代碼,並且遇到如下語句

printf("hello world");

我正在使用Pattern.compile("printf/(/".*/"/)"); 但收到錯誤消息指出

/(不是有效的轉義序列

請提供一種解決這種情況的方法。

要轉義字符,您需要使用反斜杠而不是正斜杠。 由於(是一個特殊的元字符,因此您也需要對此進行轉義。

Pattern.compile("printf\\(\".*?\"\\);");

例:

String value = "printf(\"hello world\");";
System.out.println(value.matches("printf\\(\".*?\"\\);"));
//=> true

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM