`
sisi1984117
  • 浏览: 155649 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

【转】字符串中正则表达式特殊符号

阅读更多

 问题:

  String s1="111+222+333";

  System.out.println(s1.split("+").length);

  //输出时提示错误:

  java.util.regex.PatternSyntaxException: Dangling meta character '+' near index

  问题出现在加号附近,查询相关的资料显示,+、*、 、\等符号在正则表达示中有相应的不同意义。

  正则表达式的基本用法 zt

  1、“.”为通配符,表示任何一个字符,例如:“a.c”可以匹配“anc”、“abc”、“acc”;

  2、“[]”,在[]内可以指定要求匹配的字符,例如:“a[nbc]c”可以匹配“anc”、“abc”、“acc;

  但不可以匹配“ancc”,a到z可以写成[a-z],0到9可以写成[0-9];

  3、数量限定符号,表示匹配次数(或者叫做长度)的符号:

  包括:“*”??0次或者多次

  “+”??1次或者多次

  “?”??0次或者1次

  “{n}”??匹配n次,n为整数

  “{n,m}”??匹配从n到m之间的某个数的次数;n和m都是整数;

  “{n,}”??匹配n到无穷次之间任意次数;

  “{,m}”??匹配0到m之间任意次数;

  他们放到匹配格式的后面:

  例如:

  电话号码:024-84820482,02484820482(假设前面3或者4位,后面7或者8位,并且中间的减号可有可无)

  都是符合规定的,那么可以用如下格式来匹配:[0-9]{3,4} \-? [0-9]{7,8};

  注意:“\”为转义字符,因为“-”在正则表达式用有代表一个范围的意义,例如:前面所说的[0-9],

  所以它需要转义字符“\”进行转义才可使用;

  4、“^”为否符号,表示不想匹配的符号,例如:[^z][a-z]+可以匹配所有除“z”开头的以外的所有字

  符串(长度大于2,因为“+”表示大于等于1的次数,从第二位开始都是小写英文字符);

  如果^放到[]的外边则表示以[]开头的字符串;^[az][a-z]+表示a或者z开头的长度大于等于2的英文字符串;

  5、“ ”或运算符,例如:a[n bc cb]c可以匹配“abcc”,“anc”,“acbc”;

  6、“$”以它前面的字符结尾的;例如:ab+$就可以被“abb”,“ab”匹配;

  7、一些简单表示方法:

  \d表示[0-9];\D表示[^0-9];\w表示[A-Z0-9];\W表示[^A-Z0-9];\s表示[\t\n\r\f],就是空格字符包括tab,空格等等;\S表示[^\t\n\r\f],就是非空格字符;

  明白了这些以后,我们再返回头看看它们如何被运用呢?一般来讲只需要加[]、或是\\即可。

  举例来讲:

  String s1="111+222+333";

  System.out.println(s1.split("[+]").length);

  或是

  String s1="111+222+333";

  System.out.println(s1.split("\\+").length);

  其他用法类同

<script></script>

分享到:
评论

相关推荐

    C#中正则表达式应用

    在C#中,“@”符号具有特殊含义,用于定义“逐字字符串”。这意味着紧跟在“@”后的字符串将被视为字面量,其中的转义序列将被忽略,这在处理包含路径或正则表达式时特别有用。例如: ```csharp string path = @"C:...

    php中正则表达式

    正则表达式是由一系列字符和特殊符号组成的一种模式匹配语言。它可以用来描述一个或一组字符串,通过这些描述来进行字符串的匹配、查找和替换等操作。在PHP中,主要通过`preg_match()`、`preg_match_all()`、`preg_...

    nodejs+字符串的模式匹配+正则表达式+判断获取字符串的某些需求

    正则表达式是一种由字符和特殊符号组成的语言,用于描述字符串的模式。在JavaScript中,正则表达式的创建遵循以下语法: ```javascript /正则表达式主体/修饰符(可选) ``` 其中,“正则表达式主体”包含了用于描述...

    objective-c中正则表达式

    本篇将深入探讨Objective-C中正则表达式的使用,特别是涉及到特殊符号转义字符的处理。 在Objective-C中,我们通常使用NSRegularExpression类来操作正则表达式。首先,我们需要了解一些基础的正则表达式语法,比如...

    Java 正则表达式判断字符串是否包含中文

    通过本文的学习,我们不仅了解了如何使用 Java 的正则表达式来判断一个字符串中是否包含中文字符,还深入了解了 Java 中正则表达式的相关 API 和基本原理。这对于从事 Java 开发的技术人员来说是非常实用且必要的...

    php中正则表达式中的特殊符号

    Php中正则表达式中的特殊符号 在php中,正则表达式中的特殊符号是非常重要的概念。这些特殊符号可以帮助我们更好地匹配和处理字符串。下面,我们将详细介绍php中正则表达式中的特殊符号。 1. 字符/(反斜杠):...

    浅析php中正则表达式的应用

    ”代表零个或一个字符,“*”代表零个或多个字符,而“^”和“$”则分别表示字符串的开始和结束位置。 此外,正则表达式在处理复杂文本信息时也非常有用。例如,从网页文本中提取URL地址、从日志文件中提取特定格式...

    js中正则表达式应用

    正则表达式由一系列字符和特殊符号组成,用以匹配一组字符串中的特定模式。下面是一些常见的正则表达式元字符: - `.`:匹配任何单个字符。 - `*`:前面的表达式可以出现任意次,包括零次。 - `+`:前面的表达式...

    Java中正则表达式使用方法详解

    Java中的正则表达式是一种强大的文本处理工具,用于查找、替换和解析字符串。它们通过一套预定义的规则来描述要匹配的模式,这些规则由特殊字符和普通字符组成。正则表达式在Java中主要通过java.util.regex包提供的...

    Java中正则表达式split()特殊符号使用详解

    Java中正则表达式split()特殊符号使用详解 Java中的split()方法是String类中的一个方法,该方法...通过本文的介绍,我们可以了解到Java中正则表达式split()特殊符号的使用方法,并正确地使用split()方法来分割字符串。

    c#中正则表达式的应用

    正则表达式是一种模式匹配工具,用于查找字符串中特定的字符组合。在C#中,我们通常使用`System.Text.RegularExpressions`命名空间中的`Regex`类来进行正则表达式的操作。 ### 二、验证字符串只包含字母或数字 ...

    Python3正则表达式特殊符号及用法[借鉴].pdf

    ### Python3正则表达式特殊符号及用法详解 #### 一、引言 正则表达式是一种强大的文本处理工具,广泛应用于各种编程语言中,包括Python。在Python3中,正则表达式通过`re`模块实现。本文将详细介绍Python3中正则...

    PHP100视频教程37:PHP中正则表达式学习及应用(二).rar

    定义与构成:正则表达式是由字符、特殊符号和元字符组成的字符串,用于描述一系列可能的字符组合。在PHP中,通常使用`preg_match()`、`preg_replace()`等函数进行正则操作。\n\n2. 特殊字符:如`.`表示任意单个字符...

    正则表达式.docx 正则表达式是一种用于描述字符串模式的工具,通常用于文本搜索和匹配 它可以帮助你在文本中找到特定模式的字符串

    正则表达式由一系列字符和特殊符号组成,用来描述一个搜索模式。例如,`a*b` 表示以任意数量的 `a` 开始并以至少一个 `b` 结束的字符串。正则表达式支持多种元字符,如 `.`(匹配任何单个字符)、`*`(表示前面的...

    正则表达式常用符号精简说明

    它通过一系列的符号来定义搜索模式,帮助开发者进行复杂的字符串匹配操作。本文将详细介绍正则表达式中的常见符号及其用法,并特别关注Java环境下的正则表达式应用。 #### 正则表达式基础知识 **1. 普通字符与元...

    正则表达式的验证方法大全

    其他特殊符号 - `[\u4e00-\u9fa5]`:匹配中文字符。 - `[^\x00-\xff]`:匹配多字节字符。 - `\n[\s|]*\r`:匹配换行符和空格。 - `&lt;(.*)&gt;.*|&lt;(.*)\/&gt;`:匹配HTML标签。 - `(^\s*)|(\s*$)`:匹配字符串开头或结尾的...

Global site tag (gtag.js) - Google Analytics