我有一个解析挪威街道地址的正则表达式:
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奥斯陆“。
发布于 2013-06-03 10:15:23
哦,现在我知道我做了什么。我将字符串的'分隔符替换为<<-REGEX,这意味着表达式中的所有反斜杠现在都必须转义。换回单一滴答,解决了问题。在sepp2k的建议之后,我进一步将Regex字符串编辑成文字:
STREET_ADDRESS_PATTERN = /
^
(?<street_name>[\w\D\. ]+)\s+
(?<house_number>\d+)
(?<entrance>[A-Z])?\s*,\s*
(
(?<postal_code>\d{4})\s+
(?<city>[\w\D ]+)
)?
$
/xihttps://stackoverflow.com/questions/16894305
复制相似问题