>  기사  >  Java  >  Java 프로그래밍에서 정규식 사용 요약

Java 프로그래밍에서 정규식 사용 요약

黄舟
黄舟원래의
2017-01-20 11:08:261113검색

이 글에서는 주로 Java 프로그래밍에서 정규식의 사용법을 요약합니다. 정규식은 강력한 문자열 처리 도구입니다. 정규식에 대한 몇 가지 기본 지식을 먼저 정리하겠습니다. 표현식:

1. 문자열의 정규식

정규식은 문자열에 대한 검색, 추출, 분할, 바꾸기 및 기타 작업에 사용할 수 있습니다. String 클래스는 다음과 같은 특수 메서드를 제공합니다.

boolean match(String regex): 문자열이 지정된 정규식과 일치하는지 확인합니다.

String replacementAll(String regex, String replacement): 문자열에서 정규식과 일치하는 모든 하위 문자열을 대체 문자열로 바꿉니다.

String[] 분할(String regex): 정규식을 구분 기호로 사용하여 문자열을 여러 하위 문자열로 분할합니다.

위의 특수 메서드는 모두 Java에서 제공하는 정규식을 사용합니다.

2. 정규식 만들기

x: 문자 x(x는 모든 유효한 문자를 나타낼 수 있음);

Java 프로그래밍에서 정규식 사용 요약

 7.一些实例

  例子1 

function replace(content){
 
 var reg = '\\[(\\w+)\\]',
 
 pattern = new RegExp(reg, 'g');
 
 return content.replace(pattern, '');
 
 }
 
 //或
 
 function replace(content){
 
 return content.replace(/\[(\w+)\/g, '');
 
 }

  例子2  

//zero-width look behind的替换方案
 
  //(?<=...)和(?
  //方法一:反转字符串,用lookahead进行搜索,替换以后再倒回来,例如:
 
  String.prototype.reverse = function () {
 
  return this.split(&#39;&#39;).reverse().join(&#39;&#39;);
 
  }
 
  //模拟&#39;foo.bar|baz&#39;.replace(/(?<=\.)b/, &#39;c&#39;) 即将前面有&#39;.&#39;的b换成c
 
  &#39;foo.bar|baz&#39;.reverse().replace(/b(?=\.)/g, &#39;c&#39;).reverse() //foo.car|baz
 
  //方法二:不用零宽断言,自己判断
 
  //模拟&#39;foo.bar|baz&#39;.replace(/(?<=\.)b/, &#39;c&#39;) 即将前面有&#39;.&#39;的b换成c
 
  &#39;foo.bar|baz&#39;.replace(/(\.)?b/, function ($0, $1) {
 
  return $1 ? $1 + &#39;c&#39; : $0;
 
  }) //foo.car|baz
 
  //模拟&#39;foo.bar|baz&#39;.replace(/(?
  &#39;foo.bar|baz&#39;.replace(/(\.)?b/, function ($0, $1) {
 
  return $1 ? $0 : &#39;c&#39;;
 
  }) //foo.bar|caz
 
  //这个方法在一些比较简单的场景下有用,并且可以和lookahead一起用
 
  //但也有很多场景无效,例如:
 
  //&#39;tttt&#39;.replace(/(?<=t)t/g, &#39;x&#39;) 结果应该是&#39;txxx&#39;
 
  &#39;tttt&#39;.replace(/(t)?t/g, function ($0, $1) {
 
  return $1 ? $1 + &#39;x&#39; : $0;
 
  }) // txtx

 例子3

$&符号的使用
 
 function escapeRegExp(str) {
 
 return str.replace(/[abc]/g, "($&)");
 
 }
 
 var str = &#39;a12b34c&#39;;
 
 console.log(escapeRegExp(str)); //(a)12(b)34(c)

以上就是Java编程中正则表达式的用法总结的内容,更多相关内容请关注PHP中文网(www.php.cn)!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.