正则表达式的问题,紧急求助

图片描述

请问,正则表达式怎样才可以取到那个点。。。。。。
输出结果是包含那个点然后到末尾
理想结果:.adfsd?

阅读 2.4k
5 个回答

有限制吗?

  1. 方案:删除头部的数据
    clipboard.png
  2. 方案:包含那个点然后到末尾
    clipboard.png

    1. .是关键词,所以要转义
    2. 出现一次点,然后后面不是点,直到结尾
    3. 看你的用例是否满足?

      1. 只有最后一个点后的数据
        clipboard.png
      2. 第一个点之后的所有数据
        clipboard.png

我来说下原理
第一部分: 匹配除了点以外的数据
第二部分: 匹配以.开头的数据
第三部分: 返回匹配项

document.write(str.replace(/[^\.]*(\.*)/,'$1'))    

str.replace(/[^.]+\./,'.'); 对当前这个字符串是符合的。

const g = /\.[\s\S]*$/;

str.match(g)

只关心 点号以及剩下的到结尾的字符串,正好贪婪匹配。

第一段[^.]+ 表示不配.以外的单个字符 +号表示1次或者多次很显然 adas这4个字母非常符合要求剩下的就是匹配\.点了。所以匹配到adas.点都不意外你可以试试 /\.[^.]+/
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题