Так что у меня этот кусок коды:Confused с этим регулярным выражением
...
Else If (RegExMatch(hayStr, "iS)(\[[a-z0-9]*\])*"))
{
hayStr := RegExReplace(hayStr, "S)\[[0-9]+\]*", "")
hayStr := RegExReplace(hayStr, "iS)(\[citation needed\])*", "")
hayStr := RegExReplace(hayStr, "iS)(\[note [0-9]+\])*", "")
}
Else
{
hayStr := RegExReplace(hayStr, "([-\.\(\)\s]*)", "")
}
Первая часть (не показан), форматирует URL в буфере обмена. Вторая часть (else if) удаляет цитаты из записи Wiki, в то время как последняя часть удаляет специальные символы и пробелы в телефонном номере.
Проблема в том, что вы пытаетесь выполнить код, первая часть отлично работает, так что вторая часть, однако, когда дело доходит до форматирования телефонных номеров, похоже, она не захватывает содержимое буфера обмена. У меня такое чувство, что он попадает во вторую часть вместо [0-9] *. Должны ли телефонные номера (например: +1 234-567-8900) быть уловлены в заявлении Else, так как в нем нет скобок?
Что такое значение hayStr? Сделайте настройку, где вы знаете, какой код работает, чтобы вы знали, разрешаете ли вы правильную проблему. Что это за разговоры о буфере обмена, это кажется неуместным. Показ некоторых данных поможет мне подумать. – Michael
Значение hayStr происходит из буфера обмена, который может быть либо строкой URL, либо номером телефона, либо абзацем из записи Wiki с цитатами. Нет строгого формата для телефонных номеров (так как он зависит от источника к источнику), и единственная константа для записи Wiki заключается в том, что она может содержать или не содержать цитаты. Однако нет никаких проблем с первым условием для URL. –
Можете ли вы добавить инструкцию печати для каждой ветви 'If', чтобы увидеть, какой из них выполняется? – Barmar