>웹 프론트엔드 >JS 튜토리얼 >JS 정방향 및 역방향 정규식 정의 및 사용 예

JS 정방향 및 역방향 정규식 정의 및 사용 예

高洛峰
高洛峰원래의
2017-01-09 15:46:311173검색

이 문서의 예에서는 JS 정방향 조회 정규식의 정의와 사용법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.

정의

x(?=y)는 'x' 뒤에 'y'가 오는 경우에만 'x'와 일치합니다. 긍정적 확언 찾기라고 합니다.

예를 들어 /Jack(?=Sprat)/는 'Sprat'가 뒤에 오는 경우에만 'Jack'과 일치합니다. /Jack(?=Sprat|Frost)/는 'Sprat' 또는 'Frost'가 뒤에 오는 경우에만 'Jack'과 일치합니다. 그러나 'Sprat'도 'Frost'도 경기에 포함되지 않습니다.

x(?!y)는 'x' 뒤에 'y'가 없는 경우에만 'x'와 일치합니다. 이를 정방향 부정 검색이라고 합니다.

예를 들어 /d+(?!.)/는 숫자 뒤에 소수점이 없는 경우에만 숫자와 일치합니다. 정규 표현식 /d+(?!.)/.exec("3.141")은 '141'과 일치하지만 '3.141'과는 일치하지 않습니다

https://developer.mozilla.org/zh-CN/docs/ 웹 /JavaScript/Guide/Regular_Expressions

예:

<html>
<head> 
</head> 
<body>
  <input id="test" type="text" value="" />
  <input id="test" type="text" value="" />
  <input id="test" type="text" value="" />
  <input id="test" type="text" value="" />
  <input id="test" type="text" value="" />
  <script>
  var testStr = "windows 95"
  /* 1 - 不带子表达式匹配 */
  var testReg = /^windows .*$/
  var result = testStr.match(testReg);
  console.log("/^windows .*$/="+result) // /^windows .*$/=windows 95
  /* 2 - 带子表达式匹配 */
  var testReg = /^windows (.*)$/
  var result = testStr.match(testReg);
  console.log("/^windows (.*)$/="+result) // /^windows (.*)$/=windows 95,95
  /* 3 - 带子表达式,不记录其匹配结果 */
  var testReg = /^windows (?:.*)$/
  var result = testStr.match(testReg);
  console.log("/^windows (?:.*)$/="+result) // /^windows (?:.*)$/=windows 95
  /* 4 - 前瞻匹配,匹配位置,正匹配 */
  var testReg = /^windows (?=95)95$/
  var result = testStr.match(testReg);
  console.log("/^windows (?=.*)$/="+result) // /^windows (?=.*)$/=windows 95
  /* 5 - 前瞻匹配,匹配位置,负匹配 */
  var testStr = "windows me"
  var testReg = /^windows (?!95)me$/
  var result = testStr.match(testReg);
  console.log("/^windows (?!\d*)$/="+result) // /^windows (?!d*)$/=windows me
  </script>
</body>
</html>

이 기사가 JavaScript 프로그래밍에 종사하는 모든 사람에게 도움이 되기를 바랍니다.

JS Forward-Lookback 정규식 정의 및 사용 예와 관련된 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!


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