연산 순서에 따른 지수 연산의 한계 찾기

와사비 부채

방정식이 포함 된 문자열이 있습니다. 지수를 찾기 위해 문자열을 확인한 다음 연산 순서에 따라 해당 표현식의 한계를 찾아야합니다. 설명하는 방법을 잘 모르겠습니다. 여기에 내 목표를 보여주는 문자열과 예상 출력이 있습니다.

  • 2*(3+4): 일치하지 않음 (지수 없음)
  • 2^5: 전체 문자열은 지수 연산입니다.
  • 4^7-6: 찾기 4^7
  • 5+6^3: 그냥 찾기 6^3
  • (5+6)^3: 전체 문자열이 지수의 일부입니다.
  • (6+-4)^8: 음수를 포함한 전체 문자열이 지수의 일부입니다.

이러한 숫자는 'x'와 같은 단일 문자 변수 일 수도 있습니다. 양쪽에 수학 연산이있을 수 있으므로 내가 원하는 부분 (내가 알고있는)을 찾는 유일한 방법은 단일 숫자 또는 한 쌍의 괄호를 일치시키는 것입니다. 정규식을 사용하고 싶지만 일반 문자열 조작도 괜찮습니다. 나는 다음과 같은 것에 대해 생각하고 있었다 (정규식) : [0-9a-z\.]\^[0-9a-z\.]그러나 그것은 가능한 음수 부호를 수용하지 않으며 괄호와 같은 그룹화 기호를 허용하지 않습니다 (이를 위해 일치하는 쌍만 있는지 확인해야합니다). 위의 시도가 실패하는 몇 가지 다른 경우가 있습니다.

그래서 이것을하는 가장 좋은 방법은 무엇입니까? 정규식으로 모든 경우를 포착하는 방법을 알 수있는 전문 지식이 없으며 순수한 JS로 모든 가능성을 처리하는 방법을 모릅니다.

zx81

입력 한 내용이 언급 한 내용과 일치하면 다음과 같이 제안합니다.

-?(?:[a-z]+|\d+|\([^()]+\))\^-?(?:[a-z]+|\d+|\([^()]+\))

샘플 일치 :

-2^3
2^3
2^(a/b)
(a+b)^7 
(a+b)^(d/c)
(5+6)^3

데모 에서 일치하는 내용을 참조하십시오 .

  • 코드에서 i플래그 를 설정하여 대소 문자를 구분하지 않도록하십시오.
  • JavaScript는 재귀를 지원하지 않으므로 다음과 같이 중첩 된 괄호에 문제가 있습니다. 2^(3-(2/x))

설명

  • -? 선택적 빼기 기호를 허용합니다.
  • (?:[a-z]+|\d+|\([^()]+\))문자로 구성된 변수와 일치 [a-z]+... 또는 '|`
  • 숫자 \d+또는|
  • \([^()]+\)) 괄호 세트
  • \^ 지수 연산자와 일치
  • 권력의 오른쪽은 우리가 왼쪽에서 허용 한 것과 같은 종류의 토큰과 일치합니다.

옵션 2 : x^y^z...

허용 x^y^z...하려면 다음과 같이 정규식을 수정하십시오.

-?(?:[a-z]+|\d+|\([^()]+\))(?:\^-?(?:[a-z]+|\d+|\([^()]+\)))+

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

순수 CSS : 다른 div의 높이에 따른 계산 높이

분류에서Dev

간단한 계산기에서 수학 연산자 유효성 검사

분류에서Dev

증가 연산자에 대한 연산 순서의 영향

분류에서Dev

R에서 주어진 연산에 대한 쌍 변수의 조합 계산

분류에서Dev

반응 던지기 오류의 소품에 대한 typescript 확산 연산자

분류에서Dev

int에 대한 계수 연산자

분류에서Dev

쌍 단위 연산의 합계에 대한 빠른 액세스

분류에서Dev

numpy 배열에서 길이가 다른 값의 연속 발생 횟수 계산

분류에서Dev

두 개의 정수와 피연산자를받는 계산기

분류에서Dev

별칭에서 bash 함수의 지연 계산 결과

분류에서Dev

Java로 Android 계산기의 마지막 연산자 표시

분류에서Dev

R의 여러 회사에 대한 연간 수익 계산

분류에서Dev

계산기 피연산자 및 연산자에 대한 JS 정규식

분류에서Dev

Python에서 panda DataFrame의 연속 지점에 대한 Harvesine 및 초기 베어링 계산

분류에서Dev

때 내 네트워크를 실행합니다. I 오류가있어, 기울기 계산하는데 필요한 변수들 중 하나는 올바른 위치 연산에 의해 수정되었는지

분류에서Dev

r의 다른 열에서 행 현명한 연산을 수행하는 방법

분류에서Dev

세 가지 다른 기준에 따라 고유 한 값을 계산하는 Excel 수식

분류에서Dev

다른 열의 연결된 데이터가 고유한지 여부에 따라 Excel의 모든 양수 값을 합산하는 방법은 무엇입니까?

분류에서Dev

수학 표현식 파서의 오른쪽 연관 연산자

분류에서Dev

SQL : 열의 값에 대한 산술 연산 수행

분류에서Dev

R의 새 값을 계산하기 위해 데이터 프레임에서 지연이있는 작업 수행

분류에서Dev

이전의 연산 결과에 기초하여 정지 Java 스트림 연산

분류에서Dev

부동 소수점에 관한 연산의 연관성

분류에서Dev

다른 파일에서 검색 한 후 수학 연산 수행

분류에서Dev

피연산자의 평가 순서에 대한 모순

분류에서Dev

R의 벡터로 지정된 열에 대한 수학 연산

분류에서Dev

ImageJ (Fiji)의 이미지 스택에 대한 수학적 연산

분류에서Dev

다른 데이터 프레임의 열에 대한 수학 연산

분류에서Dev

연속 된 기간 (Python, datetime)에서 일 수 계산

Related 관련 기사

  1. 1

    순수 CSS : 다른 div의 높이에 따른 계산 높이

  2. 2

    간단한 계산기에서 수학 연산자 유효성 검사

  3. 3

    증가 연산자에 대한 연산 순서의 영향

  4. 4

    R에서 주어진 연산에 대한 쌍 변수의 조합 계산

  5. 5

    반응 던지기 오류의 소품에 대한 typescript 확산 연산자

  6. 6

    int에 대한 계수 연산자

  7. 7

    쌍 단위 연산의 합계에 대한 빠른 액세스

  8. 8

    numpy 배열에서 길이가 다른 값의 연속 발생 횟수 계산

  9. 9

    두 개의 정수와 피연산자를받는 계산기

  10. 10

    별칭에서 bash 함수의 지연 계산 결과

  11. 11

    Java로 Android 계산기의 마지막 연산자 표시

  12. 12

    R의 여러 회사에 대한 연간 수익 계산

  13. 13

    계산기 피연산자 및 연산자에 대한 JS 정규식

  14. 14

    Python에서 panda DataFrame의 연속 지점에 대한 Harvesine 및 초기 베어링 계산

  15. 15

    때 내 네트워크를 실행합니다. I 오류가있어, 기울기 계산하는데 필요한 변수들 중 하나는 올바른 위치 연산에 의해 수정되었는지

  16. 16

    r의 다른 열에서 행 현명한 연산을 수행하는 방법

  17. 17

    세 가지 다른 기준에 따라 고유 한 값을 계산하는 Excel 수식

  18. 18

    다른 열의 연결된 데이터가 고유한지 여부에 따라 Excel의 모든 양수 값을 합산하는 방법은 무엇입니까?

  19. 19

    수학 표현식 파서의 오른쪽 연관 연산자

  20. 20

    SQL : 열의 값에 대한 산술 연산 수행

  21. 21

    R의 새 값을 계산하기 위해 데이터 프레임에서 지연이있는 작업 수행

  22. 22

    이전의 연산 결과에 기초하여 정지 Java 스트림 연산

  23. 23

    부동 소수점에 관한 연산의 연관성

  24. 24

    다른 파일에서 검색 한 후 수학 연산 수행

  25. 25

    피연산자의 평가 순서에 대한 모순

  26. 26

    R의 벡터로 지정된 열에 대한 수학 연산

  27. 27

    ImageJ (Fiji)의 이미지 스택에 대한 수학적 연산

  28. 28

    다른 데이터 프레임의 열에 대한 수학 연산

  29. 29

    연속 된 기간 (Python, datetime)에서 일 수 계산

뜨겁다태그

보관