2017-02-16 3 views
3

두 번째 | 다음에 오는 모든 것을 표시하기 위해 AvalonEdit.TextEditor에 대한 정규 표현식을 작성하려고합니다.구문 강조 표시 AvalonEdit

action|key|value

나는 이런 식으로 뭔가를하려하지만 난 색을 싶어 그룹을 지정할 수 없기 때문에 작동하지 않습니다

예 (값은 색상을해야한다).

^[^\|]*\|[^\|]*\|(?P<value>[^\|]*) 

아이디어가 있으십니까?

+0

'P'는 무엇입니까? 그것이 없으면 그것은 나에게 잘 보인다. –

+0

다음을 시도해보십시오 :'^ [^ \ |] * \ | [^ \ |] * \ | \ K [^ \ |] +'만약에 - 정규 표현식 엔진이 실제로 .NET이 아니지만 Onigmo/PCRE/Boost. regex101에서 PHP 옵션을 사용할 수는 있지만 편집기에서 테스트하지는 마십시오. –

답변

2

이 시도 : (?<=[^\|]+\|[^\|]+\|)(?<value>[^\|]+)

긍정적 인 모습 숨김 (?<=) actionkey 경기의 일부가 있는지 확인합니다.

일반적으로 고정 길이가 아닌 룩백을 사용하지 말고 아마도이 방법이 효과적 일 수 있습니다.

+0

이 규칙은 예외입니다. 강조 표시 규칙이 0 문자와 일치하여 무한 루프가 발생합니다. 규칙이 적어도 하나의 문자와 일치하도록 강조 표시 정의를 변경하십시오. 다른 오류가있는 https://regex101.com/ 여기에서 시도해보십시오. lookbehind 안의 한정 기호로 고정 너비가되지 않습니다. – Alioooop

+0

regex101에는 C# RegEx가 없습니다. [Regex Storm] (http://regexstorm.net/tester)을 시도하십시오. 아발론의 textEditor에서는 너무 좋지 않습니다. [mcve]를 제공 할 수 있습니까? 나는'*'을 이미'+'로 바꾸었다. –

+0

WOHO, *을 트릭으로 대체했습니다! :) 감사! – Alioooop