求一个正则表达式 判断一个句子里是否包含一个指定的单词

作者&投稿:阳店 (若有异议请与网页底部的电邮联系)
Java 正则表达式里怎么判断一句话中包含了指定两个词?~

// 匹配包含"你"或"锤子"System.out.println("哎呀,你在搞什么锤子啊?".matches(".*(你|锤子).*"));// 匹配包含"你"且包含"锤子"System.out.println("哎呀,你在搞什么锤子啊?".matches(".*((你.*锤子)|(锤子.*你)).*"));

直接用String.indexOf("see")不就可以了吗?

算了。我也写个例子吧。建议用indexof。下面是3种方法:
public static void main(String[] args) throws Exception {
String a = "<s>see me
";
String b = "<s>s me
";
System.out.println(a.indexOf("see"));
System.out.println(Pattern.matches(".*see.*(
)?", a) + "
" + Pattern.matches(".*see.*", b));
String pattern = ".*see.*(
)?";
System.out.println(a.matches(pattern) + "
" + b.matches(pattern));
}

直接用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));
}

区分大小写用 /\bsee\b/
不分大小写用 /\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

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[.\r\n]+

因为你想要的是这个:.+?see[^\r\n]+


启东市18930605367: 求一个正则表达式 判断一个句子里是否包含一个指定的单词
舟栋星保: 直接用String.indexOf("see")不就可以了吗? 算了.我也写个例子吧.建议用indexof.下面是3种方法: public static void main(String[] args) throws Exception { String a = "&lt;s&gt;see me\r\n"; String b = "&lt;s&gt;s me\r\n"; System.out....

启东市18930605367: Java 正则表达式里怎么判断一句话中包含了指定两个词? -
舟栋星保: // 匹配包含"你"或"锤子" System.out.println("哎呀,你在搞什么锤子啊?".matches(".*(你|锤子).*")); // 匹配包含"你"且包含"锤子" System.out.println("哎呀,你在搞什么锤子啊?".matches(".*((你.*锤子)|(锤子.*你)).*"));

启东市18930605367: 正则表达式 小数求一正则表达式,判断百分率,100之间的数,可以是整数,也可以带2位的小数.楼下两个表达式,如果输入一个4位的整数也是对的 -
舟栋星保:[答案] ^(100|[1-9]?\d(\.\d{2})?)$ 00,100.00 这样的数 通不过匹配 ^((100|[1-9]?\d)(\.\d{2})?)$ 100.00 可以通过匹配

启东市18930605367: 求一个判断是否为数字的正则表达式,分为带小数点和不带小数点的,并且开头不能为多个0. -
舟栋星保: -?(([1-9]\d*)|0)(\.\d*[1-9])?最前面可以有负号,小数点之前为整数形式,可以含小数部分,小数部分末尾不为0

启东市18930605367: C#用正则表达式写一个判断语句 -
舟栋星保: ^\d{5,10}$ ^[\u4e00-\u9fa5]{2,5}$

启东市18930605367: 正则表达式判断是“数字和整数” -
舟栋星保: @xindaceyuan 的回答可以匹配汉字和数字的任意组合,包括全是汉字或全是数字的情况.我想楼主是要汉字+数字的且保证汉字在前.稍改一下:/^[\u4E00-\u9FA5]+\d+$/

启东市18930605367: 如何判断一个正则表达式符合与否 -
舟栋星保: var par=/正则表达式/g;var b = par.test("字符串"); Regex.IsMatch("正则表达式","字符串");select * from table where regexp_like(cols1, '^Jane');

启东市18930605367: 求一个正则表达式 判断只能是数字、字母、下划线 -
舟栋星保: [a-zA-Z0-9_\u4e00-\u9fa5]* 应该是这样吧$ 代表结束符,表示只匹配字符串的末尾部分 (例如abcd中,b可以匹配成功,但b$匹配失败)

启东市18930605367: 在前台页面中如何用正则表达式判断文本框中 -
舟栋星保: 判断的话,也就是if条件语句,再在语句中使用一些 正则表达式 规则,就可以了.具体也不知道宝宝要判断啥.下面为你提供一个验证身份证的代码.不妨借鉴一下.正则表达式 规则的话,直接百度:正则表达式 ,最后加入自己的提示语句就...

启东市18930605367: JAVA用正则表达式检测一个中文句子 -
舟栋星保: package com.ebao.activebatch; public class Test { public static void main(String[] args) { String testStr = "老婆.我爱你!老婆爱我吗?"; String regEx="[.,!?,.?!]"; String[] result = testStr.split(regEx); for(int i=0;i System.out.println(result[i]); } } }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网