请教两正则表达式,在线等。

seahi 2019-04-21 10:48:56
1、取出金额:
金额的格式会是:¥58或¥58.3或¥58.35,我需要取出其中的数字部分,我现在用¥\d{1,6}(.\d{1,2})?(?!\d)可以正常取,但里面出现了¥,而用(?<=¥)\d{1,6}(.\d{1,2})?(?!\d)却匹配不只来,不知缘故。
2、匹配地址:已知地址中会含有“实”或者“县”或者“区”或者“号”,而且里面还可能夹杂着数字或大小写字母或-或空格,并且总长度一定会超过十个字符,请问这个该怎么写啊?
...全文
151 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
seahi 2019-05-27
  • 打赏
  • 举报
回复
原来是我使用的测试工具有些语法不支持。
诺维斯基 2019-04-26
  • 打赏
  • 举报
回复
第1个:测试了你的正则是可以的,不过(?<=¥)\d{1,6}(.\d{1,2})?(?!\d) 这中间的点,最好转义一下 \. 测试地址:http://www.regexp.cn/Regex/index/3 第2个:最好把原始文本和想要的结果贴出来
wid999 2019-04-23
  • 打赏
  • 举报
回复
1.我的电脑上测试,两个金额的表达式都没问题.
2.(?<city>\w+市)?(?<county>\w+县|区)?(?<town>\w+镇|街道)?(?<street>\w+路|街)?(?<streetno>\w+号)?(?<detail>\S+)

2中的镇和街道并列是因为深圳那边比较奇怪的行政区命名:
  如:深圳市龙华新区油富市场
其中,新区等同于其它地方的县+镇合并为一级。
stherix 2019-04-22
  • 打赏
  • 举报
回复
1. (?<=¥)\d+(\.\d+)? 2 不是特别明白

110,532

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧