Heim  >  Artikel  >  Java  >  Zusammenfassung der Verwendung regulärer Ausdrücke in der Java-Programmierung

Zusammenfassung der Verwendung regulärer Ausdrücke in der Java-Programmierung

黄舟
黄舟Original
2017-01-20 11:08:261155Durchsuche

Dieser Artikel stellt hauptsächlich eine Zusammenfassung der Verwendung regulärer Ausdrücke in der Java-Programmierung vor. Die Unterstützung regulärer Ausdrücke durch Java ist immer noch sehr gut Ausdrücke:

1. Reguläre Ausdrücke in Strings

Reguläre Ausdrücke können zum Suchen, Extrahieren, Teilen, Ersetzen und für andere Operationen an Strings verwendet werden. Die String-Klasse stellt die folgenden speziellen Methoden bereit:

boolesche Übereinstimmungen (String-Regex): Bestimmen Sie, ob die Zeichenfolge mit dem angegebenen regulären Ausdruck übereinstimmt.

String replaceAll(String regex, String replacement): Ersetzen Sie alle Teilzeichenfolgen, die mit dem regulären Ausdruck in der Zeichenfolge übereinstimmen, durch Ersetzen.

String[] split(String regex): Verwenden Sie Regex als Trennzeichen, um die Zeichenfolge in mehrere Teilzeichenfolgen aufzuteilen.

Die oben genannten speziellen Methoden basieren alle auf den von Java bereitgestellten regulären Ausdrücken.

2. Erstellen Sie einen regulären Ausdruck

x: Zeichen x (x kann jedes zulässige Zeichen darstellen);

Zusammenfassung der Verwendung regulärer Ausdrücke in der Java-Programmierung

 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)!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn