正则表达式 的反向引用问题 F=1|a H=(*F)* T=FHG=(+T)*请问TG的表达试用反向引用 怎么表达?F=(i|a)T=(i|a)(\\*\1)* 这样可以吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 G要引用T T引用F 就是引用套引用这个我不大确定怎么写;G=(\\+(i ¦a)(\\*\1))*这样是不是就不是引用F了呢?该怎么办呢? G=(\\+(i ¦a)(\\*\\2))* 我不会了,但是按照你的思路来,应该改为这样 可以这样理解:G=(+T)* =(+FH)* =(+F(*F)* )*得到以上表达式 现在只有F=(i ¦a) 如何用F表示以上的表达式? String G = "(+F(*F)* )*"; String f = "a"; String g = "+a*a*a"; String F = "i|a"; String p = "(\\+(i|a)(\\*\\2)*)*"; System.out.println(g.matches(p)); System.out.println(f.matches(F)); G=\\+(i ¦a)\\(\\*\\1\\)*\\)* 这样写对不对? 题目中的* + 在()里面的为普通字符;()外面的是闭包 我没怎么呀,只是咱俩的想法老是有冲突~你这么写的话,匹配这样的~因为你红色不分是普通的括号,所以后面的\\)*匹配,这个括号)出现0次或者多次 String g = "+a(*a))";//匹配这样的~这应该不是你要的吧~ String p = "(\\+(i|a)\\(\\*\\2\\)*)*"; System.out.println(g.matches(p)); 现在我把TG 写出来 你看看对吗?TG=FH G =F (*F)* G =F(*F)* (+F(*F)*)*得到以上表达式 现在只有F=(i ¦a) 要怎样写以上表达式?(i|a)\\(\\*\\1\\)* ( \\(\\+\\1\\(\\*\\1\\)*\\) )*你说咱们能不能把 (*F)*也 做为一个引用组呢?这写的多麻烦啊 //我最后一次挑战了眼睛都花了String g = "a(*a)(+a(*a))"; String p = "(i|a)(\\(\\*\\1\\))*(\\(\\+\\1\\2*\\))*";结果为true String g = "a(*a))(+a(*a)))"; String p = "(i|a)(\\(\\*\\1\\)*)(\\(\\+\\1\\2\\))*"; System.out.println(g.matches(p)); Java如何终止程序运行 iterator输出结果 紧急的线程问题 如何声明函数参数使可以变量值 如何通过JAVA设置桌面壁纸 要交作业了,菜鸟问题,急救!!!! 怎么处理applet运行后菜单被遮盖 那儿有java 可下 我如何用JAVA才能实现新建功能? 请教各位高手一个简单的问题:在JAVA 中如何才能取得一些系统信息? JTabbedPane 选项卡 去掉多余部分 请问如何给我的面板添加一个背景图片啊
这个我不大确定怎么写;
G=(\\+(i ¦a)(\\*\1))*
这样是不是就不是引用F了呢?该怎么办呢?
G=(\\+(i ¦a)(\\*\\2))* 我不会了,但是按照你的思路来,应该改为这样
G=(+T)*
=(+FH)*
=(+F(*F)* )*得到以上表达式 现在只有F=(i ¦a) 如何用F表示以上的表达式?
String G = "(+F(*F)* )*";
String f = "a";
String g = "+a*a*a";
String F = "i|a";
String p = "(\\+(i|a)(\\*\\2)*)*";
System.out.println(g.matches(p));
System.out.println(f.matches(F));
我没怎么呀,只是咱俩的想法老是有冲突~
你这么写的话,匹配这样的~因为你红色不分是普通的括号,所以后面的\\)*匹配,这个括号)出现0次或者多次
String g = "+a(*a))";//匹配这样的~这应该不是你要的吧~
String p = "(\\+(i|a)\\(\\*\\2\\)*)*";
System.out.println(g.matches(p));
你看看对吗?
TG=FH G
=F (*F)* G
=F(*F)* (+F(*F)*)*得到以上表达式 现在只有F=(i ¦a)
要怎样写以上表达式?
(i|a)\\(\\*\\1\\)* ( \\(\\+\\1\\(\\*\\1\\)*\\) )*你说咱们能不能把 (*F)*也 做为一个引用组呢?
这写的多麻烦啊
//我最后一次挑战了眼睛都花了
String g = "a(*a)(+a(*a))";
String p = "(i|a)(\\(\\*\\1\\))*(\\(\\+\\1\\2*\\))*";
结果为true
String g = "a(*a))(+a(*a)))";
String p = "(i|a)(\\(\\*\\1\\)*)(\\(\\+\\1\\2\\))*";
System.out.println(g.matches(p));