![](/img/trans.png)
[英]regex Java splitting a comma-separated String but ignoring commas within quotes+braces+recursive brackets
[英]Split string help! Splitting a file by certain characters but ignoring strings in quotes in java with regex
例如我有一个像这样的文件:
INT f2(INT x, INT y )
BEGIN
z := x*x - y*y;
RETURN z;
END
INT MAIN f1()
BEGIN
INT x;
READ(x, "A41.input");
INT y;
READ(y, "A42.input");
INT z;
z := f2(x,y) + f2(y,x);
WRITE (z, "A4.output");
END
我使用以下文件打开文件:
FileInputStream fstream = new FileInputStream("A1input.txt");
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine;
然后为了用像这样的字符分割每行; 或=我这样做:
String[] SplitString = strLine.split("[\\s\\W]");
我想知道是否有办法使用正则表达式删除引号之间的单词(例如“ A41.input”),以便在进行拆分之前我可以完全忽略这些单词
因为它仍然开放,所以有两种可能性(很多)
"\\b.*?\\b\\W*\\b.*?\\b"
".*?"
在Java中转义反斜杠和双引号:
String str = "READ(y, \\"A42.input\\");"; System.out.println(str); String replacedFirst = str.replaceAll("\\".*?\\"", "\\"\\""); String replacedSecond = str.replaceAll("\\"\\\\b.*?\\\\b\\\\W*\\\\b.*?\\\\b\\"","\\"\\""); System.out.println(replacedFirst); System.out.println(replacedSecond);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.