c#4 0-C#正则表达式如何取出某字符串等于号后的括号前的数据

问题描述

C#正则表达式如何取出某字符串等于号后的括号前的数据
(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = ahnu)(PORT = 1521)))(CONNECT_DATA = (SID =orcl)))如何取出host等于什么,Port等于什么,sid等于什么

解决方案

 <?<=[A-Z]+s=>[A-Z]+

解决方案二:
PROTOCOL=.*)?

PORT=.*)?

解决方案三:

这样写为什么不对

``` string str = ""(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = ahnu)(PORT = 1521)))(CONNECT_DATA = (SID =orcl)))"";
str = str.Trim();
str=str.ToUpper();
Regex reg = new Regex(@""^(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=(w+))(PORT=(w+))))(CONNECT_DATA=(SID=(w+))))$"");
Match m = reg.Match(str);
if (m.Success)

解决方案四:
搞定了

``` string str = ""(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = ahnu)(PORT = 1521)))(CONNECT_DATA = (SID =orcl)))"";
str = str.Trim();
Match m = Regex.Match(str @"".+?=.+?=.+?=(.+?))).+?=(.+?)))"");
if (m.Success)
{
string s1 = m.Groups[1].Value;//"" (PROTOCOL = TCP)(HOST = AHNU)(PORT = 1521""
string s2 = m.Groups[2].Value;// (SID =ORCL""
if (m.Success)
{
string str3 = m.Groups[1].Value;
string str4 = m.Groups[2].Value; //"" (PROTOCOL = TCP)(HOST = AHNU)(PORT = 1521""
m = Regex.Match(s1 @""(.+?=.+?)(.+?=(.+?))(.+?=(.+)"");
if (m.Success)
{
string host = m.Groups[1].Value;
string port = m.Groups[2].Value;
}
m = Regex.Match(s2 @""(.+?=(.+)"");
if (m.Success)
{
string SID = m.Groups[1].Value;
}
}

解决方案五:
搞定了

``` string str = ""(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = ahnu)(PORT = 1521)))(CONNECT_DATA = (SID =orcl)))"";
str = str.Trim();
Match m = Regex.Match(str @"".+?=.+?=.+?=(.+?))).+?=(.+?)))"");
if (m.Success)
{
string s1 = m.Groups[1].Value;//"" (PROTOCOL = TCP)(HOST = AHNU)(PORT = 1521""
string s2 = m.Groups[2].Value;// (SID =ORCL""
if (m.Success)
{
string str3 = m.Groups[1].Value;
string str4 = m.Groups[2].Value; //"" (PROTOCOL = TCP)(HOST = AHNU)(PORT = 1521""
m = Regex.Match(s1 @""(.+?=.+?)(.+?=(.+?))(.+?=(.+)"");
if (m.Success)
{
string host = m.Groups[1].Value;
string port = m.Groups[2].Value;
}
m = Regex.Match(s2 @""(.+?=(.+)"");
if (m.Success)
{
string SID = m.Groups[1].Value;
}
}

解决方案六:
搞定了

``` string str = ""(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = ahnu)(PORT = 1521)))(CONNECT_DATA = (SID =orcl)))"";
str = str.Trim();
Match m = Regex.Match(str @"".+?=.+?=.+?=(.+?))).+?=(.+?)))"");
if (m.Success)
{
string s1 = m.Groups[1].Value;//"" (PROTOCOL = TCP)(HOST = AHNU)(PORT = 1521""
string s2 = m.Groups[2].Value;// (SID =ORCL""
if (m.Success)
{
string str3 = m.Groups[1].Value;
string str4 = m.Groups[2].Value; //"" (PROTOCOL = TCP)(HOST = AHNU)(PORT = 1521""
m = Regex.Match(s1 @""(.+?=.+?)(.+?=(.+?))(.+?=(.+)"");
if (m.Success)
{
string host = m.Groups[1].Value;
string port = m.Groups[2].Value;
}
m = Regex.Match(s2 @""(.+?=(.+)"");
if (m.Success)
{
string SID = m.Groups[1].Value;
}
}

时间: 2024-12-26 22:10:15

c#4 0-C#正则表达式如何取出某字符串等于号后的括号前的数据的相关文章

.net如9.01+0.20+0.23如何循环取出9.01和0.20和0.23让后循环将三个数添加到数据库

问题描述 .net如9.01+0.20+0.23如何循环取出9.01和0.20和0.23让后循环将三个数添加到数据库 解决方案 解决方案二:你是要取值,还是要计算字符串代表的数学操作结果?如果是数学操作,那么可以否则的话可以通过下面的正则匹配到所有的数字@"d+(.d+)?" 解决方案三:strings="9.01+0.20+0.23";foreach(varitemins.Split('+')){每个item就是一个数字}解决方案四:通过split分割成数组,然后

正则表达式截取特殊的字符串

问题描述 正则表达式截取特殊的字符串 一般的正则网上可以找到,这个有点特殊,请大家帮忙下,谢谢了 "生活中总是有${abc},而我们要${def},因此所有的事情${ert}" 现在是要从上面的字符串中把${abc}和${def}和${ert}表示的三个变量截取出来,替换成另外的值 这个正则要怎么写,请大家帮忙了,谢谢 解决方案 javascript的,其他语言自己获取分组内容后获取对应变量的值 var abc = "==abc==", def = "==

ruby 怎么利用正则表达式在把一个字符串数组中的数字放到一个数组中?

问题描述 ruby 怎么利用正则表达式在把一个字符串数组中的数字放到一个数组中?str='100good200bad300ok'问题补充:说错了是把一个字符串中的所有数字放到一个数组中:)问题补充:是 100 200 300不过还是谢谢sunfjun 解决方案 str='100good200bad300ok' str.scan(/d+/)解决方案二:String的这个scan方法真不错, shaquan6776解决方案三:'100good200bad300ok'.split(/[^d]/).re

jquery正则表达式验证(手机号、身份证号、中文名称)_jquery

本文实例需要验证的内容:中文姓名.手机号.身份证和地址,验证方法分享给大家供大家参考,具体内容如下 HTML(表单): <form action=""> <div class="form-group"> <label>姓名:</label> <input id="name" type="text"> </div> <div class="f

gdn-要求在一个 0 级代码段中将源数据段中的一段数据传输到目标数据段中段描述符均放臵在全局描述符表 GDT 中。

问题描述 要求在一个 0 级代码段中将源数据段中的一段数据传输到目标数据段中段描述符均放臵在全局描述符表 GDT 中. 这个怎么弄啊 要求在一个 0 级代码段中将源数据段中的一段数据传输到目标数据段中.其中所有 段的段描述符均放臵在全局描述符表 GDT 中. 解决方案 具体来说可以这么实现: 在程序开始声明一个数据段? DSEG?,来描述这三个段的描述符,其中有代码段描述符CODEM,源数据段描述符 DATAS 和目标数据段描述符 DATAD,将它们相应的选择子分别定义为 CODEM_SEL,

跪求 帮忙-VC++6.0 环境下,怎么能够使程序运行后的黑框直接变成全屏显示

问题描述 VC++6.0 环境下,怎么能够使程序运行后的黑框直接变成全屏显示 VC++6.0 环境下,win32 console application下编一个什么样的程序能够使输出的黑框变成全屏?例如 #include main() { printf("你好n"); } 这个简单程序中添加上哪些代码就能够使输出的黑框直接占满整个电脑屏幕?麻烦哪位大侠给帮个忙,并把修改后的完整程序附上,小弟不胜感激!

java-求正则表达式,截取替换字符串

问题描述 求正则表达式,截取替换字符串 我现在有这样一个字符串 ,我想把这个给替换成空字符串,但是:"x-msg://1/"里面的数字1是不确定的,也有可能是108,比如,求大神给写个正则表达式, 解决方案 通过正则表达式截取字符串正则表达式截取字符串正则表达式替换多行字符串 解决方案二: public static void main(String[] args) { String source = "first {test} is here,two {test2} is

c++-C++ 6.0结构体数组排序的顺序问题,排序后的顺序规则

问题描述 C++ 6.0结构体数组排序的顺序问题,排序后的顺序规则 C++ 6.0利用函数指针高效排序同时保证结果正确有序的方法是什么?如果结构体中是浮点数字段,具体怎么排序才能正确? 解决方案 参考:http://blog.csdn.net/lethic/article/details/7781203 解决方案二: //C++ 字符数组顺序排序

vb6.0 能在代码编辑器左边显示行号吗?

问题描述 vb6.0能在代码编辑器左边显示行号吗? 解决方案 解决方案二:要是能的话,怎么操作,在这说声谢谢了解决方案三:VB6.0没有用过,但是VB.NET到用过.应该都差不多.可以用2个RichTextBox,一个显示行号,一个就作为正常的编辑器即可.然后在正常编辑器的RichTextBox里的文本更改函数与滚动条竖直滚动的事件里,写入计算行数的相关代码即可.解决方案四:如果你说的是在IDE里面启用显示行号的话,那么答案是不能.解决方案五:还别说,真没找到显示行的选项.不过调试运行后出错了会