包含汉字的正则表达式

noever123 2014-11-11 09:40:10
如果要用汉字来匹配汉字,这样的正则表达式可以写出来么?
比如说,要匹配“本类药物不宜用于治疗轻症感染”这句话,包含“不宜”就提取出来
...全文
781 11 打赏 收藏 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ahu9870 2015-05-09
  • 打赏
  • 举报
回复
引用 9 楼 noever123 的回复:
我导师说可以学习prolog试试
从prolog DCG 那个贴子找到此处的,看来你遇到中文处理问题了,你找一下 中文 分词 这些关键词,有示范程序。 DCG本身便于进行词法分析,不过遇到中文可就难处理了。
空心兜兜 2014-11-23
  • 打赏
  • 举报
回复
引用 8 楼 noever123 的回复:
[quote=引用 7 楼 ccs02287 的回复:] 正则不好使的话,可以用indexof
indexOf只是判断该句是否含有某个字,但是没法把它提取出来呀[/quote] 正则也不包含提取的算法啊 正则和indexof一样,都是判断是否包含特征文字,包含了,就可以接提取算法了
noever123 2014-11-19
  • 打赏
  • 举报
回复
我导师说可以学习prolog试试
noever123 2014-11-19
  • 打赏
  • 举报
回复
引用 7 楼 ccs02287 的回复:
正则不好使的话,可以用indexof
indexOf只是判断该句是否含有某个字,但是没法把它提取出来呀
空心兜兜 2014-11-13
  • 打赏
  • 举报
回复
正则不好使的话,可以用indexof
  • 打赏
  • 举报
回复
^[\u4E00-\u9FFF]+$
noever123 2014-11-13
  • 打赏
  • 举报
回复
引用 3 楼 ghx287524027 的回复:
[u4E00-u9FA5]汉字?[uFE30-uFFA0]全角字符 [u4E00-u9FA5]汉字?[uFE30-uFFA0]全角字符 public static void regxChinese(){ // 要匹配的字符串 String source = "<span title='5 星级酒店' class='dx dx5'>"; // 将上面要匹配的字符串转换成小写 // source = source.toLowerCase(); // 匹配的字符串的正则表达式 String reg_charset = "<span[^>]*?title='([0-9]*[\s|\S]*[u4E00-u9FA5]*)'[\s|\S]   *class='[a-z]*[\s|\S]*[a-z]*[0-9]*'"; Pattern p = Pattern.compile(reg_charset); Matcher m = p.matcher(source); while (m.find()) { System.out.println(m.group(1)); } } public static void regxChinese(){ // 要匹配的字符串 String source = "<span title='5 星级酒店' class='dx dx5'>"; // 将上面要匹配的字符串转换成小写 // source = source.toLowerCase(); // 匹配的字符串的正则表达式 String reg_charset = "<span[^>]*?title='([0-9]*[\s|\S]*[u4E00-u9FA5]*)'[\s|\S]   *class='[a-z]*[\s|\S]*[a-z]*[0-9]*'"; Pattern p = Pattern.compile(reg_charset); Matcher m = p.matcher(source); while (m.find()) { System.out.println(m.group(1)); } }
不好意思啊,你定义的那个String source=“<span title='5 星级酒店' class='dx dx5'>”,这句话是什么意思呀,并且那面那个正则表达式的意思我也不是很懂勒
noever123 2014-11-13
  • 打赏
  • 举报
回复
引用 1 楼 slwsss 的回复:
可以匹配的,直接写汉字就行
直接写汉字没法啊
ghx287524027 2014-11-12
  • 打赏
  • 举报
回复
[u4E00-u9FA5]汉字?[uFE30-uFFA0]全角字符 [u4E00-u9FA5]汉字?[uFE30-uFFA0]全角字符 public static void regxChinese(){ // 要匹配的字符串 String source = "<span title='5 星级酒店' class='dx dx5'>"; // 将上面要匹配的字符串转换成小写 // source = source.toLowerCase(); // 匹配的字符串的正则表达式 String reg_charset = "<span[^>]*?title='([0-9]*[\s|\S]*[u4E00-u9FA5]*)'[\s|\S]   *class='[a-z]*[\s|\S]*[a-z]*[0-9]*'"; Pattern p = Pattern.compile(reg_charset); Matcher m = p.matcher(source); while (m.find()) { System.out.println(m.group(1)); } } public static void regxChinese(){ // 要匹配的字符串 String source = "<span title='5 星级酒店' class='dx dx5'>"; // 将上面要匹配的字符串转换成小写 // source = source.toLowerCase(); // 匹配的字符串的正则表达式 String reg_charset = "<span[^>]*?title='([0-9]*[\s|\S]*[u4E00-u9FA5]*)'[\s|\S]   *class='[a-z]*[\s|\S]*[a-z]*[0-9]*'"; Pattern p = Pattern.compile(reg_charset); Matcher m = p.matcher(source); while (m.find()) { System.out.println(m.group(1)); } }
tony4geek 2014-11-12
  • 打赏
  • 举报
回复
直接找不宜 啊。
slwsss 2014-11-11
  • 打赏
  • 举报
回复
可以匹配的,直接写汉字就行

51,407

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧