C#正则表达式问题

newmcz 2005-03-15 01:35:44
我有一个字符串,另外从数据库中,我有多个正则表达式,
我要用多个正则表达式匹配我的这个字符串,各个正则表
达式的作用不同,最后返回一个字符串。

这样一个过程,C#语句怎么写。

比如我的字符串:“0A.03.5DR+MIB/2.2+Profile/MIDP-1.0+Configuration/CLDC-1.0”

然后我还有很多正则表达式,我希望循环执行正则表达式,最后的的一个要的字符串
正则表达式都是写好的,只要读出来循环一下就可以了。
这个执行的过程我不清楚,时间急,所以大家帮帮忙。多谢
...全文
221 12 打赏 收藏 举报
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
newmcz 2005-03-15
多谢以上各位,随后给分,另外我在想问问,“AA-BB.*” 这个正则表达式的意思是什么?
  • 打赏
  • 举报
回复
mobydick 2005-03-15
呵呵,如果字符串很多的话,不如生成一个Regex的实例数组。
比如:
string[] regexStrs = new string[10]{"", "",...,""}; //十个正则表达式
Regex[] regexs = new Regex[10];
for(int i = 0; i < 10; ++i)
{
regexs[i] = new Regex(regexStrs[i]);
}

string yourStr = "";//需要匹配的原始字符串
foreach(Regex r in regexs)
{
yourStr = r.Match(yourStr).Value;
}
yourStr; //这个就是你想要的字符串了。
  • 打赏
  • 举报
回复
心情解码 2005-03-15
:)





--
  • 打赏
  • 举报
回复
linuxyf 2005-03-15
// This line allows us to use classes such as Regex and Match
// without having to spell out the entire location.
using System.Text.RegularExpressions;
  • 打赏
  • 举报
回复
linuxyf 2005-03-15
Regex.Match()方法
  • 打赏
  • 举报
回复
newmcz 2005-03-15
我有一个串 string str ="asd/#@%(&^(*_()_";
我有一个正则表达式 “asd.*” 我希望做一次匹配得到 asd
用Regex类的什么方法?

有什么类似的代码?
  • 打赏
  • 举报
回复
dingsea 2005-03-15
MSDN,Regex类,下边有很多例子,你可以慢慢看。
  • 打赏
  • 举报
回复
newmcz 2005-03-15
是呀,我对正则表达式不熟,就是不知道如何匹配,呵呵,用什么方法?

谁能提供一些代码,伪代码也可以,或是用什么方法,我查查也可以,时间比较紧,所以
  • 打赏
  • 举报
回复
xiongchen 2005-03-15
UP
  • 打赏
  • 举报
回复
darksinada 2005-03-15
楼主可以先把这些正则表达式放到一个 ArrayList 里面,然后再用循环控制字符串的匹配。
  • 打赏
  • 举报
回复
newmcz 2005-03-15
多谢楼上,我看看
我的意思:
//我有一个字符串
string str = "0A.03.5DR+MIB/2.2+Profile/MIDP-1.0+Configuration/CLDC-1.0";

//我有一个dateset里面存放了多个正则表达式, 循环对字符串匹配
for(int i = 0; i<= Counts-1;i++)
{  
ilog_Str = (ilog_ChanStr, "0A.03.5DR+MIB/.*");
}

最后返回一个匹配后的字符串

我想知道,我要用那个方法,大概怎么写。
  • 打赏
  • 举报
回复
dingsea 2005-03-15
我写的一个方法,不好意思,项目用的是VB。只是用于检验是否是数字。
' By Dingsea@hotmail.com
' bu used for checking some input text.
' if the text is a integer-style one, return true, else return false.
Public Shared Function isNumber(ByVal inputText As String) As Boolean
Dim reg As New Regex("^\d+$")
Return reg.Match(inputText).Success
End Function

如果你要循环执行,问题应该不大吧。
  • 打赏
  • 举报
回复
发帖
C#

10.8w+

社区成员

.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
帖子事件
创建了帖子
2005-03-15 01:35
社区公告

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