簡體   English   中英

正則表達式匹配字符或數字

[英]Regular Expression match character OR number

我想得到一個由類型(數字或字符)分隔的字符串部分

簡化初始情況:

var content = 'foo123bar456';

期望的結果:

result = ['foo', 123, 'bar', 456];

這是我到目前為止匹配第一個“foo”

^(([a-z])|([0-9]))+

我認為這將匹配字符[az] + OR數字[0-9] +(在這種情況下匹配'foo'),但不幸的是它同時允許兩個(字符和數字)。

如果它只匹配具有相同類型的字符,我可以在我的正則表達式中添加“{1,}”以匹配模式的所有出現,並且世界會更好一些。

正確的正則表達式將是:

([a-zA-Z]+|[0-9]+)

正則表達式的解釋是:

NODE                     EXPLANATION
--------------------------------------------------------------------------------
  (                        group and capture to \1:
--------------------------------------------------------------------------------
    [a-zA-Z]+                any character of: 'a' to 'z', 'A' to 'Z'
                             (1 or more times (matching the most
                             amount possible))
--------------------------------------------------------------------------------
   |                        OR
--------------------------------------------------------------------------------
    [0-9]+                   any character of: '0' to '9' (1 or more
                             times (matching the most amount
                             possible))
--------------------------------------------------------------------------------
  )                        end of \1

使用g修飾符以及全局匹配

[a-zA-Z]+|[0-9]+/g

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM