求一个正则表达式 判断一个句子里是否包含一个指定的单词
作者&投稿:阳店 (若有异议请与网页底部的电邮联系)
// 匹配包含"你"或"锤子"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));
}
算了。我也写个例子吧。建议用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]+
舟栋星保: 直接用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....
启东市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]); } } }