怎么写正则表达式 80

该工单存在上一工单:[undo_lgc_line,10800107423122,undo_lgc_line_link,10800107423122,undo_lnk_lg... 该工单存在上一工单:[undo_lgc_line, 10800107423122, undo_lgc_line_link, 10800107423122, undo_lnk_lgc_link_component, 10800107423122, undo_lnk_phy_link_component, 10800107423122]
必须先归档前面的工单后,才能归档当前工单,归档失败

这里中文都是固定格式的,关键是抓取表的名字 以及10口头的数字,谢谢。注意当中的空格。
展开
 我来答
紫薇参星
科技发烧友

2019-02-28 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:5983
采纳率:92%
帮助的人:3466万
展开全部

如果工单在其它数据中,需要两次匹配,第一次先匹配工单,然后再匹配工单中的表格和数字

如果全是工单数据,则只要匹配一次工单中的表格和数字

我给你一个php语言的分两次匹配的例子,你看看吧(正则表达式是两个斜杠中间的部分,第一次匹配取第一捕获组的数据,第二次匹配取第一和第二捕获组的数据)

<?php

$str = "该工单存在上一工单:[undo_lgc_line, 10800107423122, undo_lgc_line_link, 10800107423122, undo_lnk_lgc_link_component, 10800107423122, undo_lnk_phy_link_component, 10800107423122]必须先归档前面的工单后,才能归档当前工单,归档失败";

preg_match_all('/该工单存在上一工单:\[(.+?)\]必须先归档前面的工单后,才能归档当前工单,归档失败/',$str,$s);

for ($i=0; $i<count($s[1]); $i++) {

 preg_match_all ('/([a-z_]+),\s*(10[0-9]+)/', $s[1][$i], $matches);

 for ($j=0; $j<count($matches[1]); $j++) {

  echo "table=".$matches[1][$j]." number=".$matches[2][$j]."\n";

 }

}

?>

果果就是爱生活
高能答主

2020-01-14 · 专注生活教育知识分享
果果就是爱生活
采纳数:2072 获赞数:272161

向TA提问 私信TA
展开全部

1、至少8-16个字符,至少1个大写字母,1个小写字母和1个数字,其他可以是任意字符:

 /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[^]{8,16}$/

/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[\s\S]{8,16}$/ 

其中 [\s\S] 中的\s空白符,\S非空白符,所以[\s\S]是任意字符。也可以用 [\d\D]、[\w\W]来表示。

2、至少8个字符,至少1个大写字母,1个小写字母和1个数字,不能包含特殊字符(非数字字母):

^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$

3、至少8个字符,至少1个字母,1个数字和1个特殊字符:

^(?=.*[A-Za-z])(?=.*\d)(?=.*[$@$!%*#?&])[A-Za-z\d$@$!%*#?&]{8,}$

4、至少8个字符,至少1个大写字母,1个小写字母和1个数字:

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$

5、至少8个字符,至少1个大写字母,1个小写字母,1个数字和1个特殊字符:

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&])[A-Za-z\d$@$!%*?&]{8,}

6、最少8个最多十个字符,至少1个大写字母,1个小写字母,1个数字和1个特殊字符:

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&])[A-Za-z\d$@$!%*?&]{8,10}

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
郗吉0l
2019-02-27 · 超过35用户采纳过TA的回答
知道答主
回答量:207
采纳率:54%
帮助的人:8.1万
展开全部
1、正则表达式,又称规则表达式。(英语:RegularExpression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。 许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2019-02-27
展开全部
(?!\[)\d?\S*[\da-zA-Z]

匹配结果:

共找到 8 处匹配:
undo_lgc_line
10800107423122
undo_lgc_line_link
10800107423122
undo_lnk_lgc_link_component
10800107423122
undo_lnk_phy_link_component
10800107423122
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pieryon
2019-02-27 · 知道合伙人数码行家
pieryon
知道合伙人数码行家
采纳数:14411 获赞数:166860
获取软件设计师高级职称 万达金融最佳创新奖

向TA提问 私信TA
展开全部
哪些是表的名字?
更多追问追答
追问
undo_lgc_line  undo_lgc_line_link   undo_lnk_lgc_link_component  undo_lnk_phy_link_component 这几个是表名 我要抓取这个表的名字 表名是小写a-z字母加下划线组成的。
追答
表名也没有规律啊,只是知道小写字母+下划线而已。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式