首页 \ 问答 \ 如何构造一个单一的正则表达式,检测一个字符串里面是否同时存在指定的多个字串。

如何构造一个单一的正则表达式,检测一个字符串里面是否同时存在指定的多个字串。

如何构造一个单一的正则表达式,检测一个字符串里面是否同时存在指定的多个字串。 比如: 检测字符串里面是否同时包含“北京”、“天津”、“上海”、“重庆”四个名称(也可能更多个)。
更新时间:2024-02-29 17:02

最满意答案

1. GCC 
   大名鼎鼎的GNU的C/C++/Obj-C编译器, 当前版本是2.8.1, 但据说与2.7.*有兼容性 
   问题. 而使用较广的是gcc 2.7.2系列, 如RedHat5中带的就是gcc 2.7.2.3 
   有时候在Cyrix上用gcc会有些问题, 因此有一套针对Cyrix特点的gcc 2.7.2.3 
   我这里有RedHat5的rpms  ftp://166.111.68.98/pub/Warez-CD/Huricane-contrib 
   (Cyrix 2.7.2.3 & 2.8.1) 

   其基本结构就是一个front end和back end,  
   /usr/bin/gcc 就是个front end, 其kernel东西都放在  /usr/lib/gcc-lib下面,  
   cpp是C预处理器, cc1*的1M多的就是编译器的核心模块了 
      cc1      C compiler 
      cc1plus  C++ compiler 
      cc1obj   Object-C compiler 
   但gcc并没有集成Fortran的compiler, 一般要用f2c转成C后才用gcc编译 
   好象也还有个g77 Fortran compiler吧? 

   gcc的不断发展完善使许多commercial compiler都相形见绌, 那当然, gcc/emacs 
   都由GNU创始人Richard Stallman手创, 是GNU的旗舰产品, 质量当然没得说了:-) 
   由于 Unix平台的高度可移植性, gcc几乎在各种常见的Unix平台上都有, 即使是 
   Win32/DOS也有gcc的port. 比如说该死的Solaris普通版本连compiler都没有, 也 
   就只好用gcc了... 

 2. EGCS(Experimental/Enhanced GNU Compiler System) 
   这是gcc的发展方向, 把fortran等编译器集成进来, 也许还会有Pascal? 
   它的构造很清晰, 把对gcc的各种改进/port都集成回去. 如gcc 2.7系列据说是 
   没有对Pentium进行优化的, 而egcs则把pgcc对Pentium的一些优化集成进去了 
   现在gcc的开发工作主要就是egcs, 由Cygnus公司领导(?), 这Cygnus公司还是很 
   不错的, 还出了GNU-Win32, SourceNavigator等, 是GNU的坚实拥护者:-)) 

http://egcs.cygnus.com

   包括了C/C++/Obj-C/Fortran 编译器, 当前最新版本1.0.2, 还在不断开发中 
   昨天download发现KDE Beta4都用egcs编译了 :-) 

   Fortran集成进来后在/usr/lib/gcc-lib下又多了个f771的back end, 当然 
   还是g77/f77 编译 
   我这里有egcs 1.0.2 的rpm 在RH5-CD/collect下面 

 3. PGCC(Pentium GCC) 
http://www.gcc.ml.org
   针对Pentium CPU进行了编译器优化的compiler 
   pgcc据说用JPEG压缩解压缩测试最快可比gcc快 30%! 
   新版的pgcc都是基于egcs的, 以一个patch的形式release

其他回答

VC  .TC
c语言是比较基础的语言,很多编程软件都可以接受c的编程的。但c的东西不多,哪个软件都能完全容纳它,所以用哪个软件都ok的了,主要是看个人喜好和你以后发展方向来选择的。如果你以后还想学vc++的话或者你要过计算机二级,那现在就下vc6.0 。如果你想做网站的话就下vs2008(或vs2005)。linux的gcc 作为一个初学者,应该还不会涉及到的。
最好的当然是微软的Visaul C++ 或是Visaul C++.net了

另外C++ bulider也很不错,比较容易上手。

一个新手如果刚开始就学习VC++,那很容易打消信心的。

编程贵在精,不管哪种工具,只要精,就可以了。

相关问答

更多
  • 我在LINUX下,以前用slick-edit ,后来用vim,不过vim需要配置下,用的很顺手 windows下么,用VC,一般不在windows下写程序。。。。
  • void main() 这是已经被淘汰的格式了, 新的编译都不支持这个了.c 语言的最新的标准是 c99 标准. vc 和 标准有很多出入.vc主要是面向vc++ 的. vc 的 c 语言一般被成为 vc 而不是 c. 一般讲 c 语言的书 说的 都是按照标准来的. vc 有 专门的 vc 的书.
  • 如何让python调用C和C++代码 安装python后,会有一个chm格式的python手册。要搞明白如何让python调用C/C++代码(也就是写python的 extension),你需要征服手册中的 < >厚厚的一章。在昨天花了一个小时看地头晕脑胀,仍然不知道如何写python的extension后,查阅了一些其他 书籍,最终在< >书中找到了教程。 下面记录一下如何在visual studio 2005中,写一段C/C++的 MessageBox代码,然后提供后python调用,最后的结果当然是显 ...
  • C语言编译器目前主要有VC++、dev-C++、C-Free、win-TC、TC 2.0等等。 其中比较经典的VC++,微软的产品,编译器,链接器,运行,调试等功能于一体的强大开发工具,特点是功能十分强大,对于新手来说需要一段时间去摸索。 dev-C++是windows下一款开发c/c++的开发环境,使用gcc为编译器,遵循标准,功能比较强大,语法高量,可以进行单步调试(这对排除错误很重要),进行断点设置等功能,遵循C标准,是一款很强大的开发工具。 C-Free是一款支持多种编译器的专业化C/C++集成开发 ...
  • 1. GCC 大名鼎鼎的GNU的C/C++/Obj-C编译器, 当前版本是2.8.1, 但据说与2.7.*有兼容性 问题. 而使用较广的是gcc 2.7.2系列, 如RedHat5中带的就是gcc 2.7.2.3 有时候在Cyrix上用gcc会有些问题, 因此有一套针对Cyrix特点的gcc 2.7.2.3 我这里有RedHat5的rpms ftp://166.111.68.98/pub/Warez-CD/Huricane-contrib (Cyrix 2.7.2.3 & 2.8.1) 其基本结构就是一个f ...
  • TC VC6.0 GC Dev C++ Visual Studio 如果只是学C语言,建议去天空软件站下载devc++ 这个小,才几十m,很好用。
  • 对C语言标准的支持,GCC应该是最好的。 在WINDOWS系统上,VC++2010的编译器也不错,另外WINDOWS系统中BCB的编译器个人感觉对ANSI C的支持度是最好的。
  • 编译器,是将便于人编写,阅读,维护的高阶计算机语言翻译为计算机能解读、运行的低阶机器语言的程序。编译器将原始程序(Source program)作为输入,翻译产生使用目标语言(Target language)的等价程序。源代码一般为高阶语言 (High-level language), 如 Pascal、C++、Java 等,而目标语言则是汇编语言或目标机器的目标代码(Object code),有时也称作机器代码(Machine code)。 一个现代编译器的主要工作流程如下: 源代码 (source co ...
  • 它不需要,但大部分都是这样做的,因为可以将相同的汇编程序(程序)用于C / C ++ /任意汇编器编译器的输出。 例如,g ++首先生成汇编代码(可以使用-S开关查看生成的汇编程序)。 MSVC也是这样( /FAs )。 It doesn't have to, but most do it anyway, as the same assembler (program) can be used for the output of the C/C++/whatever-to-assembler compiler ...

相关文章

更多

最新问答

更多
  • h2元素推动其他h2和div。(h2 element pushing other h2 and div down. two divs, two headers, and they're wrapped within a parent div)
  • 创建一个功能(Create a function)
  • 我投了份简历,是电脑编程方面的学徒,面试时说要培训三个月,前面
  • PDO语句不显示获取的结果(PDOstatement not displaying fetched results)
  • Qt冻结循环的原因?(Qt freezing cause of the loop?)
  • TableView重复youtube-api结果(TableView Repeating youtube-api result)
  • 如何使用自由职业者帐户登录我的php网站?(How can I login into my php website using freelancer account? [closed])
  • SQL Server 2014版本支持的最大数据库数(Maximum number of databases supported by SQL Server 2014 editions)
  • 我如何获得DynamicJasper 3.1.2(或更高版本)的Maven仓库?(How do I get the maven repository for DynamicJasper 3.1.2 (or higher)?)
  • 以编程方式创建UITableView(Creating a UITableView Programmatically)
  • 如何打破按钮上的生命周期循环(How to break do-while loop on button)
  • C#使用EF访问MVC上的部分类的自定义属性(C# access custom attributes of a partial class on MVC with EF)
  • 如何获得facebook app的publish_stream权限?(How to get publish_stream permissions for facebook app?)
  • 如何防止调用冗余函数的postgres视图(how to prevent postgres views calling redundant functions)
  • Sql Server在欧洲获取当前日期时间(Sql Server get current date time in Europe)
  • 设置kotlin扩展名(Setting a kotlin extension)
  • 如何并排放置两个元件?(How to position two elements side by side?)
  • 如何在vim中启用python3?(How to enable python3 in vim?)
  • 在MySQL和/或多列中使用多个表用于Rails应用程序(Using multiple tables in MySQL and/or multiple columns for a Rails application)
  • 如何隐藏谷歌地图上的登录按钮?(How to hide the Sign in button from Google maps?)
  • Mysql左连接旋转90°表(Mysql Left join rotate 90° table)
  • dedecms如何安装?
  • 在哪儿学计算机最好?
  • 学php哪个的书 最好,本人菜鸟
  • 触摸时不要突出显示表格视图行(Do not highlight table view row when touched)
  • 如何覆盖错误堆栈getter(How to override Error stack getter)
  • 带有ImageMagick和许多图像的GIF动画(GIF animation with ImageMagick and many images)
  • USSD INTERFACE - > java web应用程序通信(USSD INTERFACE -> java web app communication)
  • 电脑高中毕业学习去哪里培训
  • 正则表达式验证SMTP响应(Regex to validate SMTP Responses)