[英]using regex OR to replace a character
我有一個正則表達式正在搜索空白或下划線的實例,以將其替換為破折號。
function spinalCase(str) {
var origSentence = str;
// case of camelCase
origSentence = origSentence.replace(/([a-z])([A-Z])/g, '$1 $2');
// convert to lower case and remove whitespace or underscores for dashes
origSentence = origSentence.toLowerCase().replace(/ /g,"-");
return origSentence;
}
spinalCase('The_Andy_Griffith_Show');
我不確定如何在/ / g之后向正則表達式添加邏輯“ OR”,或者我是否需要將其添加到“ if”語句中,這看起來笨拙且笨拙。 任何幫助表示贊賞。
使用|
或角色類別:
.replace(/ |_/g,"-");
.replace(/[ _]/g,"-");
字符類將與列出的任何內容匹配。 除少數元字符外,其中幾乎所有字符都將被視為文字,例如,開頭的^
將使匹配無效(除了...以外,所有內容都作為匹配),而ab
則使a
和b
之間發生變化。
可能比我想念的更多。
|
是最接近邏輯或的。 match 1|match 2
。
並結合在一起(我假設我們都是大人,而且我不需要告訴您,實際上這樣做是不好的做法):
/(John|Thom)s[oe]n/
哪個將匹配:
Johnson
Johnsen
Thomson
Thomsen
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.