> 백엔드 개발 > PHP 튜토리얼 > javascript - 정규식이 es6의 y를 사용하지 않고 글루 매치를 작성할 수 있습니까?

javascript - 정규식이 es6의 y를 사용하지 않고 글루 매치를 작성할 수 있습니까?

WBOY
풀어 주다: 2023-03-01 21:48:01
원래의
1917명이 탐색했습니다.

<code>var str="abc"; 
var patt1=/\w/g;
document.write(str.match(patt1));</code>
로그인 후 복사
로그인 후 복사

위 코드에서 일치 결과는 ['a','b','c']입니다.

고등학교 수학 조합과 비슷하게 매칭 결과 ['a','ab','abc','b','bc','c']를 만들 수 있는 정규 작문법이 있을까요

답글 내용:

<code>var str="abc"; 
var patt1=/\w/g;
document.write(str.match(patt1));</code>
로그인 후 복사
로그인 후 복사

위 코드에서 일치 결과는 ['a','b','c']입니다.

고등학교 수학 조합과 비슷하게 매칭 결과 ['a','ab','abc','b','bc','c']를 만들 수 있는 정규 작문법이 있을까요

조합 알고리즘을 이용해보세요~

파이썬3

<code class="python">import itertools as itrs

s = "abc"
rslt = ','.join((','.join((''.join(tlp)for tlp in itrs.combinations(s,r)))
                                       for r in range(1,len(s)+1)))
print(rslt)</code>
로그인 후 복사
<code>'a,b,c,ab,ac,bc,abc'
</code>
로그인 후 복사

간결하게~

<code class="python">from itertools import chain, combinations as combs
chn_itr = chain.from_iterable
s = "abc"
print([''.join(x)for x in chn_itr(combs(s,r)for r in range(1,len(s)+1))])</code>
로그인 후 복사
<code>['a', 'b', 'c', 'ab', 'ac', 'bc', 'abc']</code>
로그인 후 복사

알고리즘 구현, 철저한 js 고려

<code>var str = "abc";
console.log(getStr(str))

function getStr(str) {
  var len = str.length;
  var i, j;
  var res = [];
  for (i = 0; i <= len; i++) {
    for (j = i + 1; j <= len; j++) {
      res.push(str.substr(i, j))
    }
  }
  return res;
}</code>
로그인 후 복사
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿