输入:
1.\frac{[a+b]}{xjch}
2.\frac{pqz}{xjch}
通缉输出
1.[a+b]/(xjch)
2.(pqz)/(xjch)
我的正则表达式是:
\\frac\{(.{2,})\}\{(.{2,})\}
如果我应用此正则表达式, 输出将是,
1.([a+b])/(xjch)
2.(pqz)/(xjch)
但我不希望()
中有[a+b]
。即如果{...}
内有任何特殊字符,圆括号不应该来。否则,(没有特殊字符),圆括号应该像(pqz)
,(xjch)
。
我想要两个正则表达式1.和2.然后只有我会得到想要的输出。
有人可以帮助我吗?
答案 0 :(得分:0)
您可以在括号内写一个 ,并用条件替换第1组和第2组
Regex
这个正则表达式是
if(nextchar == "[")
TypeOfYourInstuction = 1;
else
TypeOfYourInstuction = 2;`
http://regex101.com/r/dN8sA5/18
但是正如你提到的那样,你可以为第一种类型和第二种类型编写两个正则表达式:
\\frac\{\[?([a-zA-Z1-9\+]{2,})\]?\}\{\[?([a-zA-Z1-9\+]{2,})\]?\}
你必须用括号
替换第二种类型