问一个java正则表达式问题

问一个java正则表达式问题

http://img1.sycdn.imooc.com//climg/5f2938c3092dc2cf14990683.jpgpublic String readText(){
      String title=“阿萨大大建瓯阿瑟东扩大.01sandsandnasd 飒飒的难道1111”;

      int index = title.indexOf(".");
      String substring = title.substring(index + 1);
      String reg="^[\\u4e00-\\u9fa5]*$";
      String all = substring.replaceAll(reg, "");
      return "jsonres";
  }

我想获取.后面的汉字,但我的正则表达式却获取不了,求解

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,

1、这里^放在[]里面用于取反(否)。如[^a]表示“匹配除了a的任意字符”。[^a-zA-Z]表示“找到一个非字母的字符”。

2、匹配汉字后所有的字符,由于要字符串中汉字可能连续,字符串中内容不确定,建议同学详细描述一下问题,同学也可以提供几个匹配案例。

祝学习愉快~

  • cccca 提问者 #1
    按照你所说的,我这个正则表达式【^\u4e00-\u9fa5】是取非汉字?\u4e00-\u9fa5不是一个汉字的开始到结束吗?取反就是取非汉字咯?
    2020-08-05 15:54:29
  • 好帮手慕阿慧 回复 提问者 cccca #2
    同学你好,是的,取反就是取非汉字,replaceAll(reg, "")会将匹配到的内容(就是非汉字)替换为"",返回的就是汉字。 祝学习愉快~
    2020-08-05 16:21:44
好帮手慕阿慧 2020-08-04 18:49:42

同学你好,提取汉字参考代码如下:

http://img1.sycdn.imooc.com//climg/5f293d34094ce8d106800263.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 cccca #1
    不加转义字符?
    2020-08-04 18:50:33
  • 好帮手慕阿慧 回复 提问者 cccca #2
    同学你好,这里不需要加转义字符。 祝学习愉快~
    2020-08-04 19:01:12
  • 提问者 cccca #3
    你用idea试试,idea完全不可以
    2020-08-05 09:09:02
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师