求一个正则表达式 判断一个句子里是否包含一个指定的单词
如题,比如说Stringa="<p>seethat";Stringb="<p>sthat";正则表达式Stringp要怎么写才能让a.matches(p)为true,b....
如题,比如说
String a = "<p>see that";
String b = "<p>s that";
正则表达式 String p 要怎么写才能让 a.matches(p) 为 true,
b.matches(p) 为false呢?
忘了说了,我是想判断一个句子里是否包含“see”这个单词。谢谢!
语言为java.
在网上看了无数教程,还是行不通,最可气的是 ".+see[.\r\n]+"居然也不行。。
---谢谢aspd199,我用的编程语言是java,您知道用java怎么写吗? “see”我试过了哦,两个都是false..
下面是代码〉
public static void main(String[] args) throws Exception {
String a = "<s>see me\r\n";
String b = "<s>s me\r\n";
String pattern = "see";
System.out.println(a.matches(pattern) + "\r\n" + b.matches(pattern));
}
谢谢二楼和三楼的回答,可惜我试过之后全都显示 false false.
----谢谢jlake, 可是两个我都试过了,结果还是 false false。
难道我的Eclipse不喜欢我。。。 按照你说的去掉i和/ 就是 \bsee\b ,还是不行呢。 展开
String a = "<p>see that";
String b = "<p>s that";
正则表达式 String p 要怎么写才能让 a.matches(p) 为 true,
b.matches(p) 为false呢?
忘了说了,我是想判断一个句子里是否包含“see”这个单词。谢谢!
语言为java.
在网上看了无数教程,还是行不通,最可气的是 ".+see[.\r\n]+"居然也不行。。
---谢谢aspd199,我用的编程语言是java,您知道用java怎么写吗? “see”我试过了哦,两个都是false..
下面是代码〉
public static void main(String[] args) throws Exception {
String a = "<s>see me\r\n";
String b = "<s>s me\r\n";
String pattern = "see";
System.out.println(a.matches(pattern) + "\r\n" + b.matches(pattern));
}
谢谢二楼和三楼的回答,可惜我试过之后全都显示 false false.
----谢谢jlake, 可是两个我都试过了,结果还是 false false。
难道我的Eclipse不喜欢我。。。 按照你说的去掉i和/ 就是 \bsee\b ,还是不行呢。 展开
6个回答
展开全部
直接用String.indexOf("see")不就可以了吗?
算了。我也写个例子吧。建议用indexof。下面是3种方法:
public static void main(String[] args) throws Exception {
String a = "<s>see me\r\n";
String b = "<s>s me\r\n";
System.out.println(a.indexOf("see"));
System.out.println(Pattern.matches(".*see.*(\r\n)?", a) + "\r\n" + Pattern.matches(".*see.*", b));
String pattern = ".*see.*(\r\n)?";
System.out.println(a.matches(pattern) + "\r\n" + b.matches(pattern));
}
算了。我也写个例子吧。建议用indexof。下面是3种方法:
public static void main(String[] args) throws Exception {
String a = "<s>see me\r\n";
String b = "<s>s me\r\n";
System.out.println(a.indexOf("see"));
System.out.println(Pattern.matches(".*see.*(\r\n)?", a) + "\r\n" + Pattern.matches(".*see.*", b));
String pattern = ".*see.*(\r\n)?";
System.out.println(a.matches(pattern) + "\r\n" + b.matches(pattern));
}
展开全部
区分大小写用 /\bsee\b/
不分大小写用 /\bsee\b/i
补充
用 Eclipse 的话,就不用加 /
i 也不加,应该有不区分大小写的选项。
我不用 Eclipse,以上意见仅供参考。
不分大小写用 /\bsee\b/i
补充
用 Eclipse 的话,就不用加 /
i 也不加,应该有不区分大小写的选项。
我不用 Eclipse,以上意见仅供参考。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
以VB为例子
function matches(str as string)as boolean
Dim re as new regexp
re.pattern="see" '这里引号中间的就是表达式
matches=re.test(str)
end function
调用
a="<p>see that"
b="<p>s that"
msgbox matches(a) '提示true
msgbox matches(b) '提示false
function matches(str as string)as boolean
Dim re as new regexp
re.pattern="see" '这里引号中间的就是表达式
matches=re.test(str)
end function
调用
a="<p>see that"
b="<p>s that"
msgbox matches(a) '提示true
msgbox matches(b) '提示false
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
re = /<p>\w{2,}[ ]that/
想判断一个句子里是否包含“see”这个单词: re = /\bsee\b/i
re.Match(a)==>True
re.Match(b)==>False
想判断 a 里是否包含 b: substr(a, b, 0)
想判断一个句子里是否包含“see”这个单词: re = /\bsee\b/i
re.Match(a)==>True
re.Match(b)==>False
想判断 a 里是否包含 b: substr(a, b, 0)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2010-02-01
展开全部
这个不行,
.+see[.\r\n]+
因为你想要的是这个:.+?see[^\r\n]+
.+see[.\r\n]+
因为你想要的是这个:.+?see[^\r\n]+
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询