Maison  >  Article  >  Java  >  Résumé de l'utilisation des expressions régulières dans la programmation Java

Résumé de l'utilisation des expressions régulières dans la programmation Java

黄舟
黄舟original
2017-01-20 11:08:261155parcourir

Cet article présente principalement un résumé de l'utilisation des expressions régulières dans la programmation Java. Les expressions régulières sont un puissant outil de traitement de chaînes. La prise en charge des expressions régulières par Java est toujours très bonne. Commençons par trier les expressions régulières. expressions :

1. Expressions régulières dans les chaînes

Les expressions régulières peuvent être utilisées pour rechercher, extraire, diviser, remplacer et d'autres opérations sur des chaînes. La classe String fournit les méthodes spéciales suivantes :

correspondances booléennes (String regex) : Déterminez si la chaîne correspond à l'expression régulière spécifiée.

String replaceAll (String regex, String remplacement) : remplacez toutes les sous-chaînes correspondant à l'expression régulière dans la chaîne par remplacement.

String[] split(String regex) : utilisez l'expression régulière comme séparateur pour diviser la chaîne en plusieurs sous-chaînes.

Les méthodes spéciales ci-dessus reposent toutes sur les expressions régulières fournies par Java.

2. Créez une expression régulière

x : caractère x (x peut représenter n'importe quel caractère légal

) ;

Résumé de lutilisation des expressions régulières dans la programmation 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)!


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn