我已经很久了RegEx
:
val regEx = """(?i)((where|were|\bw)\s*(are|r)\s*(you|u))
|(Dónde estás)|(Donde estas)
|(Ku jeni ju)|(Non zaude)|(Дзе вы знаходзіцеся)|(Gdje si ti)|(Къде си)|(On ets)
|(Gdje si)|(Kde jsi)|(Hvor er du)|(Waar ben je)|(Kus sa oled)|(Missä sinä olet)
|(Où es tu)|(Onde estás)|(Wo bist du)|(Που είσαι)|(Merre jársz)|(Hvar ertu)
|(Hvor er du)|(Gdzie jesteś)|(Onde está você)|(Unde esti)|(Где ты)|(Где си)
|(Kde si)|(Kje si)|(Var är du)|(Де ти)|(Ble ydych chi)|(ווו זענען איר)
|(Որտեղ եք դուք)|(Haradasan)|(你在哪里)|(你在哪裡)|(სად ხარ)|(Ubi es)
|(Qhov twg yog koj)|(どこにいますか)|(Сен қайдасың)|(Та хаана байна вэ)|(Ту дар куҷо)
|(คุณอยู่ที่ไหน)|(اپ کہاں ہیں)|(Qayerdasiz)|(Bạn đang ở đâu)|(איפה אתה)|(کجایی)|(Neredesin)
|(Waar is jy)|(Muli kuti)|(Ina ku ke)|(Ebee ka ị nọ)|(U hokae)|(Xaggee baad joogtaa)
|(Uko wapi)|(Ibo lo wa)|(Ukuphi)|(Hain ka)|(Nasaan ka)|(Kamu di mana)
|(Aiza ianao)|(Di manakah anda)|(Kei hea koe)|(Kie vi estas)|(Ki kote w ye)
(?-i)""".toRegex()
当我按照上面的方式编写时,它没有正确执行,显然它理解由于线条分割需要额外的空间,所以我不得不在单个长行中创建它们:
val regEx = """(وينك)|(وينكي)|(وينكم)|(فينك)|(فينكي)|(فينكم)|(أين أنت)|(اين انت)|(أين أنتم)|(اين انتم)|(?i)(where|were|\bw)\s*(are|r)\s*(you|u)|(Dónde estás)|(Donde estas)|(Ku jeni ju)|(Non zaude)|(Дзе вы знаходзіцеся)|(Gdje si ti)|(Къде си)|(On ets)|(Gdje si)|(Kde jsi)|(Hvor er du)|(Waar ben je)|(Kus sa oled)|(Missä sinä olet)|(Où es tu)|(Onde estás)|(Wo bist du)|(Που είσαι)|(Merre jársz)|(Hvar ertu)|(Hvor er du)|(Gdzie jesteś)|(Onde está você)|(Unde esti)|(Где ты)|(Где си)|(Kde si)|(Kje si)|(Var är du)|(Де ти)|(Ble ydych chi)|(ווו זענען איר)|(Որտեղ եք դուք)|(Haradasan)|(你在哪里)|(你在哪裡)|(სად ხარ)|(Ubi es)|(Qhov twg yog koj)|(どこにいますか)|(Сен қайдасың)|(Та хаана байна вэ)|(Ту дар куҷо)|(คุณอยู่ที่ไหน)|(اپ کہاں ہیں)|(Qayerdasiz)|(Bạn đang ở đâu)|(איפה אתה)|(کجایی)|(Neredesin)|(Waar is jy)|(Muli kuti)|(Ina ku ke)|(Ebee ka ị nọ)|(U hokae)|(Xaggee baad joogtaa)|(Uko wapi)|(Ibo lo wa)|(Ukuphi)|(Hain ka)|(Nasaan ka)|(Kamu di mana)|(Aiza ianao)|(Di manakah anda)|(Kei hea koe)|(Kie vi estas)|(Ki kote w ye)(?-i)""".toRegex()
将它们分成多行的正确方法是什么,以便代码易于阅读:
下面是代码块:
val regEx = """(وينك)|(وينكي)|(وينكم)|(فينك)|(فينكي)|(فينكم)|(أين أنت)|(اين انت)|(أين أنتم)|(اين انتم)|(?i)(where|were|\bw)\s*(are|r)\s*(you|u)|(Dónde estás)|(Donde estas)|(Ku jeni ju)|(Non zaude)|(Дзе вы знаходзіцеся)|(Gdje si ti)|(Къде си)|(On ets)|(Gdje si)|(Kde jsi)|(Hvor er du)|(Waar ben je)|(Kus sa oled)|(Missä sinä olet)|(Où es tu)|(Onde estás)|(Wo bist du)|(Που είσαι)|(Merre jársz)|(Hvar ertu)|(Hvor er du)|(Gdzie jesteś)|(Onde está você)|(Unde esti)|(Где ты)|(Где си)|(Kde si)|(Kje si)|(Var är du)|(Де ти)|(Ble ydych chi)|(ווו זענען איר)|(Որտեղ եք դուք)|(Haradasan)|(你在哪里)|(你在哪裡)|(სად ხარ)|(Ubi es)|(Qhov twg yog koj)|(どこにいますか)|(Сен қайдасың)|(Та хаана байна вэ)|(Ту дар куҷо)|(คุณอยู่ที่ไหน)|(اپ کہاں ہیں)|(Qayerdasiz)|(Bạn đang ở đâu)|(איפה אתה)|(کجایی)|(Neredesin)|(Waar is jy)|(Muli kuti)|(Ina ku ke)|(Ebee ka ị nọ)|(U hokae)|(Xaggee baad joogtaa)|(Uko wapi)|(Ibo lo wa)|(Ukuphi)|(Hain ka)|(Nasaan ka)|(Kamu di mana)|(Aiza ianao)|(Di manakah anda)|(Kei hea koe)|(Kie vi estas)|(Ki kote w ye)(?-i)""".toRegex()
fun main(args: Array<String>) {
val text : String = "where r u"
val matchResult = regEx.find(text)
println("Hello, world!: ${matchResult?.value.orEmpty()}")
}
答案 0 :(得分:3)
在这种情况下,您应该只使用replace
删除换行符:
val regEx = """long
string
with
breaks""".replace("\n", "").toRegex()
要删除边距,您可以添加#
作为边距,以区别于|
or
中使用的reqex
并使用trimMargin
val regEx = """
(وينك)|(وينكي)|(وينكم)|(فينك)|(فينكي)|(فينكم)|(أين أنت)|(اين انت)|(أين أنتم)|(اين انتم)#
#|(?i)
#(where|were|\bw)\s*(are|r)\s*(you|u)|(Dónde estás)|(Donde estas)|(Ku jeni ju)
#|(Non zaude)|(Дзе вы знаходзіцеся)|(Gdje si ti)|(Къде си)|(On ets)|(Gdje si)|(Kde jsi)
#|(Hvor er du)|(Waar ben je)|(Kus sa oled)|(Missä sinä olet)|(Où es tu)|(Onde estás)
#|(Wo bist du)|(Που είσαι)|(Merre jársz)|(Hvar ertu)|(Hvor er du)|(Gdzie jesteś)
#|(Onde está você)|(Unde esti)|(Где ты)|(Где си)|(Kde si)|(Kje si)|(Var är du)
#|(Де ти)|(Ble ydych chi)|(ווו זענען איר)|(Որտեղ եք դուք)|(Haradasan)|(你在哪里)|(你在哪裡)
#|(სად ხარ)|(Ubi es)|(Qhov twg yog koj)|(どこにいますか)|(Сен қайдасың)|(Та хаана байна вэ)
#|(Ту дар куҷо)|(คุณอยู่ที่ไหน)|(اپ کہاں ہیں)|(Qayerdasiz)|(Bạn đang ở đâu)|(איפה אתה)|(کجایی)
#|(Neredesin)|(Waar is jy)|(Muli kuti)|(Ina ku ke)|(Ebee ka ị nọ)|(U hokae)
#|(Xaggee baad joogtaa)|(Uko wapi)|(Ibo lo wa)|(Ukuphi)|(Hain ka)|(Nasaan ka)|(Kamu di mana)
#|(Aiza ianao)|(Di manakah anda)|(Kei hea koe)|(Kie vi estas)|(Ki kote w ye)
#(?-i)""".trimMargin("#").replace("\n","").toRegex()
答案 1 :(得分:0)
我发现最好的方法可能是:
val regEx = """
(وينك)|(وينكي)|(وينكم)|(فينك)|(فينكي)|(فينكم)|(أين أنت)|(اين انت)|(أين أنتم)|(اين انتم)
|(?i)
(where|were|\bw)\s*(are|r)\s*(you|u)|(Dónde estás)|(Donde estas)|(Ku jeni ju)
|(Non zaude)|(Дзе вы знаходзіцеся)|(Gdje si ti)|(Къде си)|(On ets)|(Gdje si)|(Kde jsi)
|(Hvor er du)|(Waar ben je)|(Kus sa oled)|(Missä sinä olet)|(Où es tu)|(Onde estás)
|(Wo bist du)|(Που είσαι)|(Merre jársz)|(Hvar ertu)|(Hvor er du)|(Gdzie jesteś)
|(Onde está você)|(Unde esti)|(Где ты)|(Где си)|(Kde si)|(Kje si)|(Var är du)
|(Де ти)|(Ble ydych chi)|(ווו זענען איר)|(Որտեղ եք դուք)|(Haradasan)|(你在哪里)|(你在哪裡)
|(სად ხარ)|(Ubi es)|(Qhov twg yog koj)|(どこにいますか)|(Сен қайдасың)|(Та хаана байна вэ)
|(Ту дар куҷо)|(คุณอยู่ที่ไหน)|(اپ کہاں ہیں)|(Qayerdasiz)|(Bạn đang ở đâu)|(איפה אתה)|(کجایی)
|(Neredesin)|(Waar is jy)|(Muli kuti)|(Ina ku ke)|(Ebee ka ị nọ)|(U hokae)
|(Xaggee baad joogtaa)|(Uko wapi)|(Ibo lo wa)|(Ukuphi)|(Hain ka)|(Nasaan ka)|(Kamu di mana)
|(Aiza ianao)|(Di manakah anda)|(Kei hea koe)|(Kie vi estas)|(Ki kote w ye)
(?-i)""".trimIndent().replace("\n","").toRegex()