首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么要得到Regexp警告“警告:嵌套重复运算符?和*被替换为'*'”

为什么要得到Regexp警告“警告:嵌套重复运算符?和*被替换为'*'”
EN

Stack Overflow用户
提问于 2013-06-03 10:06:26
回答 1查看 2.8K关注 0票数 2

我有一个解析挪威街道地址的正则表达式:

代码语言:javascript
运行
复制
STREET_ADDRESS_PATTERN = <<-REGEX
    ^
    (?<street_name>[\w\D\. ]+)\s+
    (?<house_number>\d+)
    (?<entrance>[A-Z])?\s*,\s*
    (
        (?<postal_code>\d{4})\s+
        (?<city>[\w\D ]+)
    )?
    $
REGEX

它以前起作用了,我不记得我是否改变了什么,在这种情况下,我改变了什么。无论如何,现在我收到了这样的警告:

警告:嵌套重复操作符?*改为“*”

比赛将返回nil。有人知道我为什么要收到这个警告吗?

注意:我目前正在使用这个(假)地址来测试表达式:"Storgata 38H,0273奥斯陆“。

EN

回答 1

Stack Overflow用户

发布于 2013-06-03 10:15:23

哦,现在我知道我做了什么。我将字符串的'分隔符替换为<<-REGEX,这意味着表达式中的所有反斜杠现在都必须转义。换回单一滴答,解决了问题。在sepp2k的建议之后,我进一步将Regex字符串编辑成文字:

代码语言:javascript
运行
复制
STREET_ADDRESS_PATTERN = /
    ^
    (?<street_name>[\w\D\. ]+)\s+
    (?<house_number>\d+)
    (?<entrance>[A-Z])?\s*,\s*
    (
        (?<postal_code>\d{4})\s+
        (?<city>[\w\D ]+)
    )?
    $
/xi
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16894305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档