說明
有時,你需要匹配一行中一次或多次出現的字元(或一組字元)。這意味著它至少出現了一次,並可能重複出現。
你可以使用+
字元來檢查是否是這種情況。需要記住,字元或模式必須連續出現。也就是說,字元必須有重複一遍。
例如,/a+/g
將在"abc"
中找到乙個匹配,並返回["a"]
。因為有+
,它也會在"aabc"
中找到乙個匹配項,並返回["aa"]
。
如果它改為檢查字串"abab"
,它會查到兩個匹配,並返回["a","a"]
,因為兩個a
字元不在一起 - 它們之間有乙個b
。
最後,由於字串"bcd"
中沒有"a"
,所以找不到匹配項。
練習
當s
在"mississippi"
**現一次或多次時,你需要找到匹配項。編寫使用+
符號的正規表示式。
答案var mississippi = 'mississippi';
var myregex = /change/; // change this line
var result = mississippi.match(myregex);
方法描述
正規表示式
正規表示式(英語:regular expression,在**中常簡寫為regex、regexp或re)使用單個字串來描述、匹配一系列符合某個句法規則的字串搜尋模式。
match()
可在字串內檢索指定的值,或找到乙個或多個正規表示式的匹配。
修飾符描述
i執行對大小寫不敏感的匹配。
g執行全域性匹配(查詢所有匹配而非在找到第乙個匹配後停止)。
量詞描述
n+匹配任何包含至少乙個 n 的字串。
執行結果var mississippi = 'mississippi';
var myregex = /s+/gi; // change this line
var result = mississippi.match(myregex);
result;
["ss","ss"]
第一次出現一次的字元
題目 在字串中找出第乙個出現一次的字元。如輸入 abaccdeff 則輸出 b 分析 最直觀的解法從頭掃瞄這個字串中的每乙個字元。當訪問到某個字元的時候拿這個字元和後面的字元相比較,如果在後面沒有發現重複的字元,那該字元就是只出現一次的字元。如果字串有n個字元,每乙個字元可能與後面的o n 個字元比...
第一次只出現一次的字元
include include includechar firstnotrepeatingchar char pstring if pstring null return 0 const int tablesize 256 unsigned int hashtable tablesize for u...
第一次只出現一次的字元
在字串中找出第乙個只出現一次的字元。如輸 abaccdeff 則輸出 b include string include map include iostream using namespace std 法1 用map o nlogn char firstnotrepeatedchar0 char s...