正则表达式及string相关内容(二)

简介: 正则表达式及string相关内容

以下代码是判断字符串是否为邮箱的正确格式.


public static void main(String[] args) {
    /*
     * fancq@tedu.com
     * [0-9a-zA-Z_]+@[0-9a-zA-Z]+(\.[a-zA-Z]+)+
     * 
     * boolean matches(String regex)
     * 匹配当前字符串是否符合给定的正则表达式的格式要求
     */
    String mail = "1836360247@qq.com";
    String regex = "[0-9a-zA-Z_]+@[0-9a-zA-Z]+(\\.[a-zA-Z]+)+";
    boolean match = mail.matches(regex);
    if(match) {
      System.out.println("是邮箱!");
    }else {
      System.out.println("不是邮箱!");
    }
  }



然后我们也可以将当前字符串按照满足正则表达式的部分替换为给定字符串


public static void main(String[] args) {
  String str = "abc123def456ghi";
  /*
   * 将当前字符串中的数字部分替换为#NUMBER#
   * abc#NUMBER#def#NUMBER#ghi
   */
  str =str.replaceAll("[0-9]+", "#NUMBER#");
  System.out.println(str);
  }



接下来的这段代码是和谐用语,将所输入的脏话转为**,不管是几位的脏话都转为两个星号,防止有些人想要去猜别人究竟骂的是什么


public static void main(String[] args) {
  String regex = "(wqnmlgb|cnm|sb|mdzz|nc|djb|nmsl|ngdsb|wc)";
  String message = "wc!你个sb!你怎么这么nc!你就一个djb!";
  message = message.replaceAll(regex, "**");
    System.out.println(message);
  }

运行结果就是这样的:


image.png


String[] split (String regex)

将当前字符串中按照满足正则表达式的部分进行拆分,

并将拆分后的若干段字符串以数组形式返回


String str = "abc123def456ghi";
  /*
   * 将当前字符串按照数字部分进行拆分,得到所有的字母部分
   */
  String[] data =str.split("[0-9]+");
  System.out.println(data.length);
  for(int i=0;i<data.length;i++){
      System.out.println(data[i]);
  }

运行结果如下图


image.png


根据 Java Language Specification 的要求,Java 源代码的字符串中的反斜线被解释为 Unicode 转义或其他字符转义。因此必须在字符串字面值中使用两个反斜线,表示正则表达式受到保护,不被 Java 字节码编译器解释。例如,当解释为正则表达式时,字符串字面值 “\b” 与单个退格字符匹配,而 “\\b” 与单词边界匹配。字符串字面值 “\(hello\)” 是非法的,将导致编译时错误;要与字符串 (hello) 匹配,必须使用字符串字面值 “\\(hello\\)”。


目录
相关文章
|
5月前
正则表达式(有关String当中,有关正则的方法)
正则表达式(有关String当中,有关正则的方法)
|
6月前
|
机器学习/深度学习 Java 索引
39、一篇文章弄懂 Java 正则表达式中的量词、贪婪、勉强、独占和 String 的 matches 方法的底层【个人感觉非常值得学习】
39、一篇文章弄懂 Java 正则表达式中的量词、贪婪、勉强、独占和 String 的 matches 方法的底层【个人感觉非常值得学习】
66 0
|
6月前
|
Java 索引
正则表达式源码分析--三个常用类--分组、捕获、反向引用--String 类中使用正则表达式的代码示例和图
正则表达式源码分析--三个常用类--分组、捕获、反向引用--String 类中使用正则表达式的代码示例和图
80 0
|
存储 自然语言处理 安全
Java------String类和正则表达式
Java------String类和正则表达式
|
JavaScript
js内置对象:Array对象、Date对象、正则表达式对象、string对象
js内置对象:Array对象、Date对象、正则表达式对象、string对象
133 0
|
Java Perl
正则表达式及string相关内容(一)
正则表达式及string相关内容
133 0
正则表达式及string相关内容(一)
|
PHP
PHP面试题:对于用户输入一串字符串$string,要求$string中只能包含大于0的数字和英文逗号,请用正则 表达式验证,对于不符合要求的$string返回出错信息
PHP面试题:对于用户输入一串字符串$string,要求$string中只能包含大于0的数字和英文逗号,请用正则 表达式验证,对于不符合要求的$string返回出错信息
147 0
String类的方法中常用的正则表达式
String类的方法中常用的正则表达式
125 0
C# String的内容不能被改变
一旦视图改变string的内容,就会产生一个新的实例。 上图代码中,对str进来了ToUpper操作和Insert操作之后,输出str的值,还是“hello”。
631 0
WPF SL 获取RichTextBox 的内容(string)
WPF: private string GetText(RichTextBox richTextBox) {         TextRange textRange = new TextRange(richTextBox.
1365 0