正则表达式求解

管理地址[]北京市天坛1001号[]管理地址001号[]北京市天坛1001号[]

如上字符串怎么用正则匹配出第一个“北京市天坛1001号“,其他的不需要。北京市天坛0001号是变化的

阅读 3.4k
6 个回答
<script>
    var str = '[]北京市天坛1001号[]管理地址001号[]北京市天坛1001号[]';
    var result = str.match(/北京市天坛1001号/g);
    
    console.log(result[0]); //第一个
    console.log(result[1]); //第二个    
</script>
北京市天坛\d+号\[\](?=管)

1、split

var str="管理地址[]北京市天坛1001号[]管理地址001号[]北京市天坛1001号[]";
var result=str.split("[]");
if(result&&result[1]){
    result[1];
}

2、正则

var str="管理地址[]北京市天坛1001号[]管理地址001号[]北京市天坛1001号[]";
var p=/\[\]([\s\S]*?)\[\]/;
var result=str.match(p)[1];
var str="管理地址[]北京市天坛1001号[]管理地址001号[]北京市天坛1001号[]";
var p=/[^\]]+(?=\[\])/g;
var result=str.match(p)[1];

如果只是数字变化的话,可以写成“北京市天坛\d{4}号”

import re
s = '管理地址[]北京市天坛1002号[]管理地址001号[]北京市天坛1001号[]'
a = re.search('北京市天坛\d+号',s)
print(a.group())

python:

s = '管理地址[]北京市天坛1001号[]管理地址001号[]北京市天坛1001号[]'
print(s.split('[]')[1])
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题