이 프로그램에 대한 경험은 없지만 this은 javascript와 함께 작동해야하며, Regex의 다른 기능은 최소한의 구현입니다.
\[? # Literal [, zero or 1 times
\s* # Any number (*) of whitespace characters
(\d+) # Any number of digits, one or more (+)
\s* # Any number (*) of whitespace characters
(?= # Positive lookahead, support for possitive lookahead is key to the regex
(?: # Open non-capturing group
,\s*\d+ # Literal ",", any number of whitespace characters,
# digits one or more
) # Close non-capturing group
| # or
\] # Literal "]"
) # Close positive lookahead
(?= # Open another positive lookahead
[^\[]*\] # Any number of characters that are not "[", as long as they're followed by "]".
# This is only a validation check, those characters won't be caught
) # Close positive lookahead
. # Match any character except newline
이 프로그램은 가변 길이 bookbehinds을 지원하는 경우, 당신은 수만있게 만든다하는 lookbehind을 추가하는이를 사용할 수 있습니다
\[?\s*(\d+)\s*(?=(?:,\s*\d+)+|\])(?=[^\[]*\]).
뿐만 아니라 유효한 문자가 앞에 붙습니다.
\[?\s*(?<=\[[,\d ]*)(\d+)\s*(?=(?:,\s*\d+)+|\])(?=[^\[]*\]).
인용을 포맷은 100 % 신뢰할 수있는 경우 프로그램이 가변 길이 lookbehinds을 지원하는 경우 [1]
, [12]
, [13, 14, 21]
등 당신은, \[(?<=\[[,\d ]*)(\d+)(?=(?:, \d+)|\])(?=[^\[]*\]).
가 simpler version
\[?\s*(\d+)(?=(?:, \d+)|\])(?=[^\[]*\]).
하거나 사용할 수 있습니다. 이러한 식의와
: \]?
에 당신은 마지막 문자를 변경할 수 .
는 여전히 쉼표 [1],[15],[22]
로 구분하여 인용을 볼 수 있습니다. 정규 표현식의 많은 맛을 *
모든에서 지원되는 경우, 한정사와 같은 폭되는 모든 교대와 고정 길이 있어야합니다 을 lookbehinds--. 예를 들어 (?<=a|1)
은 작동하지만 (?<=a|12)
, (<=a|1+)
또는 (<=a+)
은 실패합니다. lookbehind 자체에 적용되는 한정 기호는 다음과 같습니다. (?<=a)+
편집 : 입력 용 Rawing에 감사드립니다.
내가 이해할 수없는 두 가지 것들이있다 : 1) 왜이 태그는'javascript'인가? 이 AutoBookmark 프로그램이 자바 스크립트를 실행할 수 있습니까? 2) "괄호 안의 숫자"를 정확히 말하면 무엇을 의미합니까? '[1, 2]'의 모든 항목을'[1] [2]'또는 다른 정규식으로 바꾸고 싶습니까? –
나는 알고있다. 나는 훈련이 없으며 틀린 말을하고있다. 그러나 기본적으로 그렇습니다. 이는 "모든 발생 바꾸기"와 동일합니다. 내가 (메일에 답을 얻지 못하는) 것은 ((? <= \ [) | (? <= (\ d))) (\ d {1,3})'이다. 이것은 너무 많이 캡처합니다. 왜냐하면 텍스트에 일련의 숫자가있을 수도 있기 때문입니다. 나는 원하지 않습니다. 내가해야한다면, 나는 그걸로 살 수 있습니다 - 나는 오히려 놓치기보다 몇 가지 잘못된 링크를 더 가질 것입니다. –