求教,正则的两个函数,同样的命令为什么返回不一样的结果

feifei_274823 2月前 126

sRet = Regex.FindStr("第一条  3978615876784x1  第二条  4427149123927x1","\\s(3[5-9]|[4-7][0-9])[0-9]{9,11}",0)
TracePrint(sRet)


结果是

" 3978615876784"


arrRet = Regex.FindAll("第一条  3978615876784x1  第二条  4427149123927x1","\\s(3[5-9]|[4-7][0-9])[0-9]{9,11}")
TracePrint(arrRet)


结果是

最新回复 (4)
  • feifei_274823 2月前
    2
    [14:50:33]选中的内容 第2行:[ "39", "44" ]
  • feifei_274823 2月前
    3
    按照第一个的结果,第二条应该是[" 3978615876784"," 4427149123927"]
  • life 2月前
    4
    坐等正则大佬
  • ou 2月前
    5
    # 注意:
    # 1.用findall来匹配时,如果正则表达式中没有子组,则返回的列表中的每一项都是匹配到的字符串,匹配到几处就有几个
    #
    #
    # 2.如果正则表达式中含有一个子组,
    # 则返回的列表中的各项是匹配到的字符串的子组内容,整体匹配到几处就有几个子组内容
    #
    #
    # 3.如果正则表达式中含有多个子组
    # 则返回含有元组的列表
    # 正则字符串整体匹配到几处就有几个元组
    # 每个元组中的内容是 正则表达式每个子组匹配到的内容
返回
发新帖