Скажем, у меня есть строка что-то-123.Получить последние символы до определенного символа
Мне нужно получить последние 5 (или меньше) символов от него, но только до - если есть один в строке, так что результат будет, как вещь, но если строка не имеет - в нем, как something123 тогда результат будет ng123, и если строка, как тогда результат будет .
Я знаю, как Маха последние 5 символов:
/.{5}$/
Я знаю, как Маха все до первого -:
/[^-]*/
Но я не могу понять, как объединить их , и для того, чтобы усугубить ситуацию, мне нужно получить матч, не извлекая его из определенных групп и аналогичных передовых инструментов регулярного выражения, потому что я хочу использовать его в SQL Anywhere, пожалуйста, помогите.
Tank вы все за помощь, но выглядит как полное решение регулярное выражение будет слишком сложным для моей проблемы, так что я сделал это очень просто: SELECT right(regexp_substr('something-123', '[^-]*'), 4)
.
Что делать, если вы '' что-то-в качестве входных данных, что, как ожидается выход для этой строки? 'вещь' или' hing-'? Мое решение дает «вещь». –