




Используйте встроенный модификатор для шаблона регулярного выражения:
regexp:regexp pattern = re `(?i:(ax|test)is$)`;
(?i:...) в начале позволяет включить регистронезависимый режим для всего шаблона. Ваш код будет функционировать следующим образом:
Примером может быть:
import ballerina/io;
import ballerina/regexp;
public function main() {
regexp:RegExp pattern = re `(?i:(ax|test)is$)`;
string word1 = "Axis";
string word2 = "axis";
string word3 = "TestiS";
if (pattern.isFullMatch(word1)) {
io:println("Match: " + word1);
}
if (pattern.isFullMatch(word2)) {
io:println("Match: " + word2);
}
if (pattern.isFullMatch(word3)) {
io:println("Match: " + word3);
}
}
Этот код выведет:
Match: Axis
Match: axis
Match: TestiS
Вы можете использовать следующий фрагмент кода для достижения своей задачи в Ballerina
import ballerina/io;
import ballerina/lang.regexp;
string str1 = "Axis";
string str2 = "axis";
string str3 = "aXIs";
string str4 = "aXIss";
public function main() {
regexp:RegExp pattern = re `(?i:(ax|test)is$)`;
io:println(pattern.isFullMatch(str1)); // true
io:println(pattern.isFullMatch(str2)); // true
io:println(pattern.isFullMatch(str3)); // true
io:println(pattern.isFullMatch(str4)); // false
}
Ballerina использует группы без захвата для управления поведением шаблонов регулярных выражений.
Таким образом, приведенный выше шаблон регулярного выражения содержит шаблон группы без захвата и имеет флаг i внутри круглых скобок.
Этот флаг i делает шаблон нечувствительным к регистру.
(?i:<pattern>) означает, что шаблон будет совпадать без учета регистра шаблона.
Более подробную информацию о группах без захвата и флагах Ballerina можно найти в здесь.