获取道路正则式再来一问?
对于这样的数据,如何用正则表达式取出路来?
"南区市大市区东市路123号"
"南区市东区东区二路123号"
"金路市银路区骡马市路123号"
问题点数:100、回复次数:6Top
1 楼Eddie005(♂) №.零零伍 (♂)回复于 2006-01-12 18:11:21 得分 0
lz这个问题还没搞定啊.....
偶正则不熟... 只看看...Top
2 楼min_jie(止戈)回复于 2006-01-12 18:28:02 得分 0
楼主是帮人家问的吧。。
这样的话,匹配起来相当难。。
楼主你还得考虑只有路和号的情况。。。这个会影响匹配的。。Top
3 楼min_jie(止戈)回复于 2006-01-12 18:32:49 得分 100
假如就只考虑你上面列举的3个,倒也不难。。
Regex reg = new Regex(@"(?<=.*?市.*?区).*?路");
这样就可以了。。
但我知道这并不是你想要的。。你要考虑的情况还有很多。。Top
4 楼Cnapollo(旁痞)回复于 2006-01-12 19:38:02 得分 0
关注Top
5 楼linuxyf(率人哥哥)回复于 2006-01-13 07:48:01 得分 0
string ResultString = null;
try {
ResultString = Regex.Replace(SubjectString, ".*区", "");
ResultString = Regex.Match(ResultString, ".*路").Value;
} catch (ArgumentException ex) {
// Syntax error in the regular expression
}Top
6 楼JasonHeung(拥有一切不过就这样笑着哭)回复于 2006-01-13 09:27:12 得分 0
Regex reg = new Regex(@"(?<=.*?市.*?区).*?路");
上面这个表达式才是一种较完善的写法;
至于数据完整性的情况,这需要在组成数据之前通过其它方式来进行保障;
提出上面的问题主要是为了给大家提个醒,在做一件事情的时候要考虑周全一点。不要等写的软件出现问题再去修改。
谢谢大家参与!Top




