我有一个包含地址的字符串。我想检查地址是否包含“' Flat'如果是,请提取旁边的固定数字。
以下是一个示例字符串:
Flat 62, Selig Court, Beverley Gardens, London
或者
Selig Court, Flat 62, Beverley Gardens, London
我希望结果是:
Flat 62
我试图在JavaScript中执行此操作。
答案 0 :(得分:0)
基于你所说的: -
> "Selig Court, Flat 62, Beverley Gardens, London".match(/(Flat \d{1,4})/)[0]
'Flat 62'
> "Flat 62, Selig Court, Beverley Gardens, London".match(/(Flat \d{1,4})/)[0]
'Flat 62'
答案 1 :(得分:0)
试试这个正则表达式
/Flat\s+(\d+)/gi
解释
Flat\s+
允许Flat
(\d+)
匹配数字实施例
"Flat 62, Selig Court, Beverley Gardens, London".match(/Flat\s(\d+)/gi); //["Flat 62"]
答案 2 :(得分:0)
这是应该做的诀窍。 String就像demo一样,就像console.log一样,让我们专注于示例。
myRegexp是一个正则表达式,我将用它来尝试从字符串中捕获。请记住,你必须在//之间定义它。至于它的内容,我匹配平面或平面,然后是空格,然后1-4位数。这是基于您提供的信息。所以它不会让我们说Flat1或FLAT 33。
var myString = "Flat 62, Selig Court, Beverley Gardens, London";
var myRegexp = /((Flat|flat) \d{1,4})/g;
var match = myRegexp.exec(myString);
console.log(match[1]);
对于一场比赛,我只是说嘿正则表达式,exec在这个字符串上并保存捕获组。如果与给定的字符串捕获组匹配,则获取您的信息。
请参阅您提供的2个示例中的解决方案:
我只解释了核心或更确切地说是如何解决问题。如果你在实践中使用正则表达式,还有很多东西需要了解它们。谷歌是你的朋友。
答案 3 :(得分:0)
您可以看到this示例:
var str = "Flat 62, Selig Court, Beverley Gardens, London";
var patt1 = /\w+\s\d+/g;
var result = str.match(patt1);