이것은 내가 검색하려는 문자열입니다.
Make {The Most|One of the most} Out Of Your {Real Estate|Realty|Property} {Purchase|Acquisition} When You {Follow|Comply With|Adhere To} { something } These Tips
중괄호로 묶여 있고 그 안에 { }
하나 이상의 파이프 |
기호를 포함해야하는 문자열의 일부를 검색하고 반환 해야합니다 .
다음은 내가 생각해 낸 정규식이지만 작동하지 않습니다.
/^{?([^{]*\|)*}$
예상 출력
[{The Most|One of the most}, {Real Estate|Realty|Property}, {Real Estate|Realty|Property}, {Purchase|Acquisition}, {Follow|Comply With|Adhere To}]
{ something }
출력의 일부 가 되어서는 안됩니다. 미리 감사드립니다
두 개의 부정 문자 클래스를 사용하여 파이프 하나에 최소한 1 번 일치해야합니다.
+
최소한 단일 문자가 있어야 하는 경우 수량자를로 변경할 수 있습니다 (단일 공백 일 수도 있음에 유의하십시오).
{[^{}|]*\|[^{}]*}
설명
{
시합 {
[^{}|\n]*
{
}
, |
또는 개행을 제외한 모든 문자를 0 번 이상 일치\|
시합 |
[^{}\n]*
{
또는 }
또는 개행을 제외한 모든 문자를 0 번 이상 일치 (또 다른를 허용 함 |
)}
시합 }
const regex = /{[^{}|\n]*\|[^{}\n]*}/g;
const str = `Make {The Most|One of the most} Out Of Your {Real Estate|Realty|Property} {Purchase|Acquisition} When You {Follow|Comply With|Adhere To} { something } These Tips`;
console.log(str.match(regex));
공백 이외의 문자 다른이있을 경우 그 |
{
와 }
이전과 파이프 후 :
{[^\S\n]*[^\s{}|][^{}|]*\|[^\S\n]*[^\s{}|][^{}]*}
설명
{
경기 시작 {
[^\S\n]*
개행을 제외하고 0 개 이상의 공백 문자와 일치[^\s{}|]
{
}
또는 이외의 공백이 아닌 문자와 일치|
[^{}|]*
{
}
또는 이외의 문자를 0 번 이상 일치|
\|
시합 |
[^\S\n]*
개행을 제외하고 0 개 이상의 공백 문자와 일치[^\s{}|]
{
}
또는 이외의 공백이 아닌 문자와 일치|
[^{}]*
{
}
또는 이외의 문자를 0 번 이상 일치|
}
경기 종료 }
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다