为了账号安全,请及时绑定邮箱和手机立即绑定

oracle SQL 正则表达式 ?

oracle SQL 正则表达式 ?

怎么匹配出中括号的内容,用逗号隔开 例如:1+[abc123]+3+([bcd456]*5/100+max([asde_20])) 需要匹配出: abc123,bcd456,asde_20请参考select REGEXP_REPLACE('1+[abc123]+3+([bcd456]*5/100+max([asde_20]))','([*+])','\1') from dual;
查看完整描述

3 回答

?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

>GetdocumentElement() ; //所有子节点 MSXML2::IXMLDOMNodeListPtr pNodes ; pNodes = pRoot->GetchildNodes() ; int personNumber = pNodes->Getlength() ; MSXML2::IXMLDOMNodePtr pNode ;//根节点下的节点 MSXML2::IXMLDOMNodePtr pNodeAtt ;//根节点下所有节点的所有属性 MSXML2::IXMLDOMNamedNodeMapPtr pNamedNodeMap ; for(int i=0;iGetitem(i) ; pNamedNodeMap = pNode->Getattributes() ; pNodeAtt = pNamedNodeMap->Getitem(type) ; //判断是否有节点的某个属性是否与所找的数据相同,如果有,则删除该节点 if((CString)(pNodeAtt->GetnodeTypedValue().bstrVal) == person) { HRESULT hr = pRoot->removeChild(pNode) ; if(FAILED(hr))

查看完整回答
反对 回复 2019-03-26
?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

用 Oracle Database 10g 使用正规表达式
  您可以使用最新引进的 Oracle SQL REGEXP_LIKE 操作符和 REGEXP_INSTR、REGEXP_SUBSTR 以及 REGEXP_REPLACE 函数来发挥正规表达式的作用。您将体会到这个新的功能如何对 LIKE 操作符和 INSTR、SUBSTR 和 REPLACE 函数进行了补充。实际上,它们类似于已有的操作符,但现在增加了强大的模式匹配功能。被搜索的数据可以是简单的字符串或是存储在数据库字符列中的大量文本。正规表达式让您能够以一种您以前从未想过的方式来搜索、替换和验证数据,并提供高度的灵活性。
正规表达式的基本例子
  在使用这个新功能之前,您需要了解一些元字符的含义。句号 (.) 匹配一个正规表达式中的任意字符(除了换行符)。例如,正规表达式 a.b 匹配的字符串中首先包含字母 a,接着是其它任意单个字符(除了换行符),再接着是字母 b。字符串 axb、xaybx 和 abba 都与之匹配,因为在字符串中隐藏了这种模式。如果您想要精确地匹配以 a 开头和以 b 结尾的一条三个字母的字符串,则您必须对正规表达式进行定位。脱字符号 (^) 元字符指示一行的开始,而美元符号 ($) 指示一行的结尾(参见表1:附表见第4页)。因此, 正规表达式 ^a.b$ 匹配字符串 aab、abb 或 axb。将这种方式与 LIKE 操作符提供的类似的模式匹配 a_b 相比较,其中 (_) 是单字符通配符。
  默认情况下,一个正规表达式中的一个单独的字符或字符列表只匹配一次。为了指示在一个正规表达式中多次出现的一个字符,您可以使用一个量词,它也被称为重复操作符。.如果您想要得到从字母 a 开始并以字母 b 结束的匹配模式,则您的正规表达式看起来像这样:^a.*b$。* 元字符重复前面的元字符 (.) 指示的匹配零次、一次或更多次。LIKE 操作符的等价的模式是 a%b,其中用百分号 (%) 来指示任意字符出现零次、一次或多次。
  表 2 给出了重复操作符的完整列表。注意它包含了特殊的重复选项,它们实现了比现有的 LIKE 通配符更大的灵活性。如果您用圆括号括住一个表达式,这将有效地创建一个可以重复一定次数的子表达式。例如,正规表达式 b(an)*a 匹配 ba、bana、banana、yourbananasplit 等。仅供参考!



查看完整回答
反对 回复 2019-03-26
?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

您可以使用最新引进的 Oracle SQL REGEXP_LIKE 操作符和 REGEXP_INSTR、REGEXP_SUBSTR 以及 REGEXP_REPLACE 函数来发挥正规表达式的作用。您将体会到这个新的功能如何对 LIKE 操作符和 INSTR、SUBSTR 和 REPLACE 函数进行了补充。实际上,它们类似于已有的操作符,但现在增加了强大的模式匹配功能。被搜索的数据可以是简单的字符串或是存储在数据库字符列中的大量文本。正规表达式让您能够以一种您以前从未想过的方式来搜索、替换和验证数据,并提供高度的灵活性。

查看完整回答
反对 回复 2019-03-26
  • 3 回答
  • 0 关注
  • 551 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信