括號和逗號的正則表達式組合
下面是一個如何通過將正則表達式傳遞給split來拆分逗號的示例。 如果行中只有一個"在前面,則負向前看(?![^"]*"[^"]*$)會阻止逗號被匹配。 (?m)打開多行模式,以便$匹配一行的結尾,而不是整個字符串的結尾。 public class Example { public static void main(String[] args) { String string = "2050206,\"Abella, Jan Vincent P\",BSECE,1,Male\n" + "2050207,\"Theron, Charlize\",BSECE,2,Female"; String regex = "(?m),(?![^\"]*\"[^\"]*$)"; for (String s : string.split(regex)) { System.out.println(s); } }} Prints: 2050206"Abella, Jan Vincent P"BSECE1Male2050207"Theron, Charlize"BSECE2Female
使用正則表達式匹配括號內的所有逗號
Java支持在lookbehind斷言中使用有限量詞,因此您可以匹配逗號,將[放在左邊,將]放在右邊。 假設沒有嵌套的方括號: (?<=\[[^\]\[]{0,100}),(?=[^\]\[]*]) Explanation (?<=\[[^\]\[]{0,100})正向查找,在左側斷言[,例如,除了[和]之外,任何字符的出現次數為0-100的有限范圍 ,匹配要替換的逗號 (?=[^\]\[]*])正向前瞻,向右斷言] For example: String regex = "(?<=\\[[^\\]\\[]{0,100}),(?=[^\\]\\[]*])";String string = "test , test ,, [,,test,]";Pattern pattern = Pattern.compile(regex,);Matcher matcher = pattern.matcher(string);System.out.println(matcher.replaceAll("X")); Output test , test ,, [XXtestX] 請參閱s regex演示和Java演示。
替換括號內的逗號
考慮下面的方法 select col1, ( select string_agg(regexp_replace(el, ',', ''), ', ') from unnest(regexp_extract_all(col1, r'\[.*?\]')) el ) new_colfrom t 如果應用于問題中的樣本數據,則輸出為
按逗號分割字符串,但忽略括號內的逗號
此正則表達式適用于您的示例: ,(?=[^,]+?:) 在這里,我們使用正向前瞻查找逗號,后跟non-comma和冒號字符,然后是冒號。這將正確地找到您正在搜索的<comma><key>模式。當然,如果允許鍵帶有逗號,則必須進一步調整。 你可以在這里查看regexr
如何刪除單詞和數字范圍之間的括號、括號、引號和逗號?
不要把這看成是移除東西。在顯示格式化數據時,不應依賴built-in列表格式,而應使用自己想要的格式字符串。 for progress_outcome, pass_cr, def_cr, fail_cr in detail_outcome: print(f"{progress_outcome}{pass_cr}, {def_cr}, {fail_cr}")
從列表中刪除括號和逗號
您可以使用sep和*操作符分別打印它。例子: fruits=["apple", "banana", "orange", "mango"]print(*fruits, sep=" ") 您也可以將其用于大型數據。
為什么在使用String.format方法時不加逗號?
很可能您的系統區域設置沒有設置為ENGLISH。使用Locale.ENGLISH如下所示: import java.util.Locale;public class Main { public static void main(String[] args) { String str1 = String.format(Locale.ENGLISH, "%,d", 100000000); System.out.println(str1); }} Output: 100,000,000
如何在不加逗號的情況下將對象轉換為字符串?
你可以replace和trim const str = ",2,3,5,0,8,8,7,9,9,0,7,4,4,8,4,2,2,4,"const res = str.replace(/,/g, " ").trim()console.log(res)
用括號連接表達式?
這不是串聯。第二個括號是層的輸入。 Conv2D(filters, kernel_size=f_size, strides=2, padding='same')返回(layer_input)為其輸入層的函數。
js,一個函數后面不加括號(),為什么也可以傳參?這是什么語法?
https://developer.mozilla.org...
如何修復“需要逗號或結束括號”?
似乎您想使用字符串作為長文本列的默認值,但缺少DEFAULT關鍵字。 但無論如何都不行。https://dev.mysql.com/doc/refman/8.0/en/blob.html說: BLOB和TEXT列不能有默認值。 如果我將DEFAULT關鍵字添加到您的示例中,并在MySQL客戶端中嘗試,則會出現以下錯誤: 錯誤1101(42000):BLOB、TEXT、GEOMETRY或JSON列“health”不能有默認值 MySQL的分支MariaDB增加了向MariaDB10.2.1中的BLOB或文本列添加默認值的功能,但MySQL不支持這種功能。
不帶括號和逗號的字典格式
try: for key, value in commands_dict.items(): print("{0}:{1}".format(key, ",".join(map(str,value)))) Note: map將每個整數轉換為字符串 join以逗號作為分隔符連接字符串
為什么所有串聯的列表文本都必須在kdb中加括號以防止類型錯誤,而最后一個可以不加括號?
翻譯從右到左讀。因此,10在傳遞給左側的til之前,從til 3連接到結果列表。放在括號里可以避免這種情況 q)10,til 310 0 1 2jq)til 10 0 1 2j'typeq)til[10],til 30 1 2 3 4 5 6 7 8 9 0 1 2j
Python-Regex(去掉括號和逗號)
Try: content = "['STUDENT DETAILS - ', 'Biometric ID: 653694 ', 'RFID: 18985211235 ', 'Full Name: James John ', 'Balance: $15.2 ', '-------------------------- ', ' ', ' ', 'Item: Cheese Wrap ', 'Cost: $3.00 ', 'Remaining Balance: $12.2 ', '-------------------------- '] "content = re.sub(r"(\',\s?\')|(\'\])|(\[\')", r"", content)print(content) Output: STUDENT DETAILS - Biometric ID: 653694 RFID: 18985211235 Full Name: James John Balance: $15.2 -------------------------- Item: Cheese Wrap Cost: $3.00 Remaining Balance: $12.2 --------------------------
用于匹配所有逗號的正則表達式,除非它們被括在括號或括號中
這看起來更像是定制解析器的工作,而不是單個正則表達式。我很想被證明是錯的,但在我們等待的時候,這里有一個非常簡單的解析函數,可以完成這項工作。 parse_nested <- function(string) { chars <- strsplit(string, "")[[1]] parentheses <- numeric(length(chars)) parentheses[chars == "("] <- 1 parentheses[chars == ")"] <- -1 parentheses <- cumsum(parentheses) brackets <- numeric(length(chars)) brackets[chars == "["] <- 1 brackets[chars == "]"] <- -1 brackets <- cumsum(brackets) split_on <- which(brackets == 0 & parentheses == 0 & chars == ",") split_on <- c(0, split_on, length(chars) + 1) result <- character() for(i in seq_along(