正则怎么写?

nikolaichow 2012-11-08 09:56:13
一串字符串是由左边+中间+右边组成,左边及右边可能是任意字符,中间是有一定长度的数字组成;
string sLeft="ABC",sRight="XYZ";//左右可能是任意字符,长度也不定

string str="ABC00000123456XYZ";

请问我如何用正则将中间的00000123456获取出来?
...全文
158 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
SubMain 2012-11-08
  • 打赏
  • 举报
回复
假如中间的数字固定是11位 例“A123000001234567B” 那么这个怎么取?
SubMain 2012-11-08
  • 打赏
  • 举报
回复
引用 6 楼 stiff_neck 的回复:
引用 4 楼 stiff_neck 的回复:如果左右的任意字符只是指大写英文字母的话,楼上的可以 我的楼上是指2楼,没想到打字的功夫就被插了。。
呵呵,以后要用绝对的,不要用相对的
stiff_neck 2012-11-08
  • 打赏
  • 举报
回复
引用 4 楼 stiff_neck 的回复:
如果左右的任意字符只是指大写英文字母的话,楼上的可以
我的楼上是指2楼,没想到打字的功夫就被插了。。
游离失所 2012-11-08
  • 打赏
  • 举报
回复
引用 4 楼 stiff_neck 的回复:
如果左右的任意字符只是指大写英文字母的话,楼上的可以
他这个是只截取字符串的数字部分吧..\d是[0-9],左右部份的字符串只要不出现数字都能用
stiff_neck 2012-11-08
  • 打赏
  • 举报
回复
如果左右的任意字符只是指大写英文字母的话,楼上的可以
q107770540 2012-11-08
  • 打赏
  • 举报
回复
引用 楼主 nikolaichow 的回复:
一串字符串是由左边+中间+右边组成,左边及右边可能是任意字符,中间是有一定长度的数字组成; string sLeft="ABC",sRight="XYZ";//左右可能是任意字符,长度也不定 string str="ABC00000123456XYZ"; 请问我如何用正则将中间的00000123456获取出来?
string result=Regex.Match(yourstr,"\\d+").Value;
threenewbee 2012-11-08
  • 打赏
  • 举报
回复
string s = RegEx.Match("ABC00000123456XYZ", @"[A-Z]+(\d+)[A-Z]+").Groups[1].Value;
bdmh 2012-11-08
  • 打赏
  • 举报
回复
你这根本就没有规则,两遍是什么规则的字符,程度 也不定,字符还任意,没戏
q107770540 2012-11-08
  • 打赏
  • 举报
回复
引用 8 楼 subMain 的回复:
假如中间的数字固定是11位 例“A123000001234567B” 那么这个怎么取?
string result=Regex.Match(yourstr,"\\d{11}").Value;

110,546

社区成员

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

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

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