zoukankan      html  css  js  c++  java
  • 【Java面试宝典】正则表达式


    ● 请你谈谈Java中是如何支持正则表达式操作的?
    考察点:正则表达式

    参考回答:
    Java中的String类提供了支持正则表达式操作的方法,包括:matches()、replaceAll()、replaceFirst()、split()。此外,Java中可以用Pattern类表示正则表达式对象,它提供了丰富的API进行各种正则表达式操作,如:

    面试题: - 如果要从字符串中截取第一个英文左括号之前的字符串,例如:北京市(朝阳区)(西城区)(海淀区),截取结果为:北京市,那么正则表达式怎么写?

    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    public class RegExpTest {
            public static void main(String[] args) {
                String str = "成都市(成华区)(武侯区)(高新区)";
                Pattern p = Pattern.compile(".*?(?=\()");
                Matcher m = p.matcher(str);
                if(m.find()) {
                    System.out.println(m.group()); //成都市
                }
            }
    }
    

    完全看不懂,慢慢查阅资料

    正则表达式-语法

    https://www.runoob.com/regexp/regexp-syntax.html
    菜鸟教程
    大学最好的老师教过我们Linux基础,有讲过正则,所以我就略过。

    正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为"元字符")组成的文字模式。模式描述在搜索文本时要匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。

    Pattern.compile方法

    易佰教程
    https://www.yiibai.com/javaregex/javaregex_pattern_compile.html

    java.util.regex.Pattern.compile(String regex)方法将给定的正则表达式编译为模式
    声明
    以下是java.util.regex.Pattern.compile(String regex)方法的声明。

    public static Pattern compile(String regex)
    

    参数

    • regex - 要编译的表达式。

    异常

    • PatternSyntaxException - 如果表达式的语法无效。
      示例
      以下示例显示了java.util.regex.Pattern.compile(String regex)方法的用法。
    import java.util.regex.MatchResult;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    public class PatternDemo {
       private static final String REGEX = "(.*)(\d+)(.*)";
       private static final String INPUT = "This is a sample Text, 1234, with numbers in between.";
    
       public static void main(String[] args) {
          // create a pattern
          Pattern pattern = Pattern.compile(REGEX);
    
          // get a matcher object
          Matcher matcher = pattern.matcher(INPUT); 
    
          if(matcher.find()) {
             //get the MatchResult Object 
             MatchResult result = matcher.toMatchResult();
    
             //Prints the offset after the last character matched.
             System.out.println("First Capturing Group - Match String end(): "+result.end());         
          }
       }
    }//原文出自【易百教程】,商业转载请联系作者获得授权,非商业请保留原文链接:https://www.yiibai.com/javaregex/javaregex_pattern_compile.html
    

    编译并运行上面的程序,这将产生以下结果

    First Capturing Group - Match String end(): 53
    
  • 相关阅读:
    妙味——自定义滚动条
    妙味——拖拽改变大小
    妙味——带框的拖拽
    IE6 固定定位
    JavaScript 事件绑定
    JavaScript 事件
    设置指定网页为主页
    [LeetCode][JavaScript]Compare Version Numbers
    [LeetCode][JavaScript]Implement Stack using Queues
    [LeetCode][JavaScript]Invert Binary Tree
  • 原文地址:https://www.cnblogs.com/guoxinyu/p/java-interview-treasure-book-1.html
Copyright © 2011-2022 走看看