如何构造同时包含若干字串的正则表达式

AllCHN 2010-05-12 02:25:25
加精
如何构造一个单一的正则表达式,检测一个字符串里面是否同时存在指定的多个字串。

比如: 检测字符串里面是否同时包含“北京”、“天津”、“上海”、“重庆”四个名称(也可能更多个)。
...全文
3702 102 打赏 收藏 转发到动态 举报
写回复
用AI写文章
102 条回复
切换为时间正序
请发表友善的回复…
发表回复
一叶孤舟111 2010-05-24
  • 打赏
  • 举报
回复
这也可以?
一叶孤舟111 2010-05-24
  • 打赏
  • 举报
回复
真不错
loverxingfu 2010-05-24
  • 打赏
  • 举报
回复
- -....................
yongyuanzhiyin 2010-05-23
  • 打赏
  • 举报
回复
正在学习正则表达式。路过学了
jzxby 2010-05-23
  • 打赏
  • 举报
回复
很牛的帖子啊
xyk 2010-05-22
  • 打赏
  • 举报
回复
ding
  • 打赏
  • 举报
回复
说得不错,支持一下。
mq317 2010-05-22
  • 打赏
  • 举报
回复
正在学习中
fs4414 2010-05-22
  • 打赏
  • 举报
回复
来看看,学习一下,顺路涨点知识
csdn_风中雪狼 2010-05-21
  • 打赏
  • 举报
回复
路过,帮顶...
张鸷 2010-05-21
  • 打赏
  • 举报
回复
路过,将要学习,要积分!!哈哈哈...
jsthdl5289313 2010-05-21
  • 打赏
  • 举报
回复
@-@
elvintrista 2010-05-21
  • 打赏
  • 举报
回复
路过,帮顶...
qq476712622 2010-05-20
  • 打赏
  • 举报
回复
看得我眼花啊
yuling59520 2010-05-20
  • 打赏
  • 举报
回复
学习!
woshi1987 2010-05-20
  • 打赏
  • 举报
回复
huibianyue ajl ajf asj
战斗生活 2010-05-19
  • 打赏
  • 举报
回复
路过中
l6801567 2010-05-19
  • 打赏
  • 举报
回复
路过,、帮顶
wesleyluo 2010-05-19
  • 打赏
  • 举报
回复
学习了。
daxiao474 2010-05-18
  • 打赏
  • 举报
回复
路过 进来看一下有没得我要的东西咯
加载更多回复(77)
命令格式 9 一.shell与Unix平台 9 二.shell基本知识 9 三.grep 命令 11 四.sed 11 五.awk命令 11 六.find命令 12 七.test命令 12 八.expr命令 13 九.流程控制语法 13 1 if then elif else fi语句 13 4 for语句 15 6 while语句 16 7 until 语句 17 8 break及continue 18 9 case 语句 18 十.shell脚本调试 19 实例讲解 21 一.模式匹配 21 1.ls显示所有以hosts 开头的文件 21 2.ls显示包含x y z符的所有文件 21 二.正则表达式 21 1.grep匹配 etc services文件中以ftp开头的哪些文本行 21 2.grep匹配以system文本结尾的行 21 3.grep匹配仅包含一个#符的行 21 4.grep匹配以<abc>或者[abc]开头的行 21 5.grep匹配以Ftp或者ftp开头的行 21 6.grep匹配F或者f以外的符 21 7.grep匹配除大写符以外的符 21 8.grep匹配以ftp或telnet开头的文本行 21 9.grep匹配以ftp开头 后跟0个或多个 agent的文本行 21 10.grep匹配以ftp开头 后跟1个或多个 agent的文本行 21 11.grep匹配带有数6 后跟至少3个0的文本行 使用 E启用边界特性 22 12.grep匹配含有 abc 的文本 22 13.常用正则表达式举例 22 14.grep精确匹配:在抽取后加 > 23 15.grep消除大小写:加入 i选项 23 16.特殊符:$ ‘ “ [ ] ^ | + 23 17.grep判断变量含有[HOST] 23 18.grep判断变量含有[xxx] 23 19.grep匹配后缀为c h j s cpp hpp的文件 23 20.使用grep在文件中查找变量 23 21.正则表达式语法 23 三.sed命令 27 1.sed文本的定位方法: 27 2.sed编辑命令 27 3.sed打印文件的第二行 27 4.sed打印文件的第一到三行 27 5.sed打印匹配test的行 28 6.sed打印匹配$的行 28 7.sed打印最后一行:$是代表最后一行的特殊符 28 8.sed脚本文件 28 9.sed上例中如果将a 改为i: 28 10.sed上例中如果将a 改为c: 28 11.sed删除第一行 28 12.sed删除第一到第三行 28 13.sed删除最后一行 28 14.sed替换文本 28 15.sed输出到文件 w选项: 28 16.sed从文件读取 r选项: 28 17.sed优势: 28 18.sed常见的一行命令集 29 19.sed去掉变量前后的空格 29 20.sed去除文件count中的前后的空格 29 21.sed提取最后一个目录名和程序名 30 22.dirname或参数扩展提取目录名 30 23.grep sed获取文件的扩展名 31 24.sed获取第n个匹配的行的行号 31 四.awk命令 31 1.awk段分隔符: 31 2.awk匹配模式 32 3.awk“模式匹配-动作” 32 4.awk内部变量 32 5.awk用户定义变量 32 6.awk算术运算 33 7.awk高级算符 33 8.awk内部算术函数 33 9.awk内置函数 33 10.awk的自定义函数 34 11.awk的“下一”语句: 35 12.awk中的相加: 35 13.awk的逻辑运算符 35 14.awk的逻辑与|| 逻辑或&& 35 15.awk的FS OFS和ORS使用: 35 16.awk的sprintf函数的使用 36 17.awk的重定向 输出到文件: 36 18.awk删除文件的第一行 36 19.awk删除输入行中特定行的换行符 36 20.awk获取输入行中 域的最大个数 36 21.awk输出一行超过80 个符的每一行 36 22.awk输出至少一个域的所有行 可用来将一个文档里的所有空白行删除 36 23.awk输出范围在0 到100 之间的7 个随机数 36 24.awk将所有用户的login名称依照母的顺序输出 36 25.awk将一个文档的总行数输出 36 26.awk输出文档的内容时会在每行的最前面输出行号它的功能与"cat n" 类似 36 27.awk自定义函数的例子一: 第一个域与第二个域的平方和 37 28.awk的split 数组 注释 37 29.awk打印传入的第n个分隔域 37 30.在awk中使用shell中的变量 37 31.在某个目录下查找包含特定的文件 返回文件名称 39 五.其它命令 39 1.eval命令:可用于动态生成和执行代码 39 2.exit n:退出 40 3.export导出环境变量: 41 4.shift命令: 41 5.shell的参数扩展: 41 6.<<即时文档 42 7.sh调试选项 42 8.time命令测试一个程序执行时间 42 9.expr命令 42 10.if语句判断变量是否为某个值(防止空) 43 11.nm命令察看一下xxx o文件中是否有多个相同名的函数 43 12.ps grep和awk显示属于某个用户的所有进程(并杀死) 43 13.touch命令 43 14.touch与make联合使用强制编译 44 15.dd命令传送文件 44 16.talk命令 44 17.ps命令 44 18.rm指令 44 19.find命令 44 21.rusers命令 45 22.cal命令 45 23.tty命令 45 24.banner命令 45 25.find命令 45 26.cut命令 45 27.paste命令 46 28.rm命令 47 29.mkdir命令 47 30.cat命令 48 32.groupadd和mkgroup命令 48 33.ln命令 48 34.su命令 49 35.setenv命令 49 36.repeat命令 49 37.getopts命令 49 38.sort命令 50 38.kill命令和trap命令 50 39.操作系统和数据库检查(IBM)(一):检查核心参数的配置 51 40.操作系统和数据库检查(IBM)(二):检查时区的配置 52 41.操作系统和数据库检查(IBM)(三):检查硬件错误 52 42.操作系统和数据库检查(IBM)(四):检查硬盘错误 52 43.操作系统和数据库检查(IBM)(五):检查交换区的使用情况 52 44.操作系统和数据库检查(IBM)(六):检查内存的使用情况 52 45.操作系统和数据库检查(IBM)(七):检查系统的运行情况 52 46.操作系统和数据库检查(IBM)(八):检查文件系统的使用情况 52 47.操作系统和数据库检查(IBM)(九):检查文件系统的属性 53 48.操作系统和数据库检查(IBM)(十):HACMP检查 53 49.操作系统和数据库检查(IBM)(十一):检查数据库的DR状态 53 50.操作系统和数据库检查(IBM)(十二):检查数据库的运行状态 54 51.操作系统和数据库检查(IBM)(十三):数据库检查 55 52.操作系统和数据库检查(IBM)(十四):检查数据库的运行日志 55 53.fsck命令 55 54.useradd和mkuser命令 56 54.exec命令 56 54.tr命令 56 六.杂项 57 1.setenv PATH和set path 57 2.awk中输出单引号 57 3.awk或read找出文件行符数大于80的行 57 4.shell脚本程序中的用户切换: 57 5.shell中删除文件且不显示输出信息和出错信息 58 6.shell变量赋初值时存在特殊符 58 7.sed的参数中存在 特殊符 58 8.find在一个目录下找包含一个的所有文件 58 9.shell中确定一个文件的存在 文件ins billdb 58 10.read的参数与实际域的个数不同 58 11.grep获取主机名和IP地址 59 12.grep确定变量不是数 60 13.确定是否是ip地址 60 15.grep和awk列出某个目录下的一级子目录 61 16.用printf将一个数打印成逗号分隔的形式 61 17.iTELLIN示例一:在ksh中使用数组 62 18.iTELLIN示例二:从文件中读取参数: 63 19.iTELLIN示例三:包含其它脚本文件 64 20.iTELLIN示例四:初始化一个临时文件供使用 65 21.iTELLIN示例五:分解 65 22.iTELLIN示例六:替换配置文件中的值 66 24.iTELLIN示例八:用另外的文件作为函数库 67 25.iTELLIN示例九:解压缩文件到一个目录 68 26.iTELLIN示例十:判断操作是否成功 70 27.iTELLIN示例十一:封装创建一个组的函数 71 28.iTELLIN示例十二:封装创建一个用户的函数 72 29.iTELLIN示例十三:判断一个是否是正整数 74 30.iTELLIN示例十四:判断当前用户是否有root权限 75 31.iTELLIN示例十五:判断一个是否是整数 75 32.iTELLIN示例十六:删除某个文件夹下若干天以来未改动的文件 76 33.各种Unix环境对ksh的影响: 76 34.set 使用注意点: 77 35.判断对端节点的文件是否存在: 77 36.awk的split函数的使用: 77 37.统计在文件中出现的次数: 77 38.如何进行精确匹配: 81">命令格式 9 一.shell与Unix平台 9 二.shell基本知识 9 三.grep 命令 11 四.sed 11 五.awk命令 11 六.find命令 12 七.test命令 12 八.expr命令 13 九.流程控制语法 13 1 if then elif else fi语句 13 4 for语句 15 6 while语句 16 7 until 语句 17 8 br [更多]
【超级记事本(SuperNotePad) V6.40.959使用说明】 【制  作】︰Savage 【适用平台】︰Windows XP/Windows 2003/Windows Vista 【联  系】︰log2.0@163.com 【校  验】︰MD5: 68F54DC19E37B17417F47A7DA6707820        SHA1: 01709CB64B0BA21EDD4C0B808384A8590480167F 【SuperNotePad.exe 说明】︰ ---------------------- 1.主程序大小132 KB (135,680 节); 2.代码高效,程序已经经过近四百多次的调试; 3.信息加密算法安全高效,可任意深度加密; 4.右键集合了大多数常用功能,不常用的在"工具"中; 5.主要的特色功能︰ 00) 语音朗读文本 (注:[自定义欢迎词]中可更改欢迎语音;                  XP下初始只有一个缺省语音引擎,为英文MSSam;                  朗读中文需要TTS简体中文语音库,没有的请下载,                  否则将无法阅读中文.) 01) 文本转为语音文件 02) 信息密钥对称加密 (注:可任意深度加密;                  密钥支持任意长度中文/英文/特殊符,有效抵抗                  穷举密钥攻击;                  若进行多重加密可使得穷举密钥解密变成不可能                  完成的任务.) 03) 计算表达式    例︰2*sin(30*3.1415926/180) 支持批量表达式                  计算,每个表达式请放在独立的行中 04) 执行DOS命令     例︰@echo off&setlocal; EnableDelayedExpansion&color; 0f&set; all=1&set; /A a=0&set; /A b=1&set; /A c=0&for; /L %%i in (0,1,44) do (set /A c=!a!+!b!&set; /A a=!b!&set; /A b=!c!&set; all=!all! !c!)&if; %%i equ 44 (echo 斐波纳齐:!all!)&pause;>nul&exit; 05) 执行应用程序    例︰"control.exe appwiz.cpl" 06) 执行VBS脚本     例︰a=3:b=4:c=5:p=(a+b+c)/2:msgbox "Area=" & sqr(p*(p-a)*(p-b)*(p-c)),64,"海伦公式" 07) 数值进制间转换  (注:支持批量,支持十进制范围:1E+308~9E-324;                  二进制正/负数均采用补码表示.如十进制负数-8的                  二进制1000应为11000(也可表示为1000,在本软件                  中当二进制第一位为1时可省略符号位);十进制正                  数8的二进制1000应为01000(符号位不能省)) 08) 多种替换|转换功能   (注:支持批量\par\tab\asc\nul) 09) 状态栏便捷查看文本编码方式、文件路径、符的各种信息 例︰体|大小|颜色|...|编码 10) 浏览当前编辑文档所在的文件夹(注:F6) 11) 排序 12) 填充序列数      (注:支持批量\par\tab\asc\nul) 13) 符/拆分、合并、翻转 14) 定位匹配括号 15) 多种右键菜单     (注:鼠标中键或Shift/Alt/Ctrl+鼠标右键) 16) 便捷时间显示 17) 关联到右键打开方式 18) 便捷的几种显示模式 19) 汉转拼音/缩写 20) 两种方式打开拖入文档 (注:请拖到[标题栏]或[状态栏],否则识别为链接;                  在[设置]中可配置拖入文档打开方式[插入/新建]) 21) 支持多种格式UTF-8, BIG5, GB2321, Unicode,Unicode big edian, Rich Text, USC-2 22) 查看密码       (扩展对所有已打开的窗口密码均有效Ctrl+D) 23) 正则表达式处理符  例︰"\b([a-z]+) \1\b"合并多次重复单词

37,721

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

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