Dla fachowców od RegExp

Tematy pojawiają się rzadko to fakt, a nie ma w nich odpowiedzi bo skoro są rozwiązane to po co w nich pisać … Trochę marna logika …

Ja nie pisałem o odpowiedziach tylko, jak często są zakładane posty innymi słowy
jakie jest zainteresowanie tym działem? Czy programiści mają lepsze źródło informacji?
Chętnie bym się dowiedział.

Mój błąd, mogłem tego nie pisać
na usprawiedliwienie, byłem pewien, że ktoś napisze że temat jest dublowany,
i tak zrobił “procolog”, a temat pasował tu, jak i w innym dziale.

Tak jest cała masa znacznie lepszych źródeł informacji i miejsc gdzie można uzyskać pomoc. Zaczynając na dokumentacji, a na google kończąc. Poza tym 90% jak nie więcej problemów się powtórzyło, zostało w związku z nimi zadane pytanie i uzyskana odpowiedź. Wystarczy tylko je znaleźć i masz gotowca bez zadawania kolejny raz tego samego pytania.
Naprawdę, rzadko kiedy zdarza się, że w necie nie ma odpowiedzi na jakieś pytanie bądź problem.

Mówię o problemach i rzeczach związanych z programowaniem i IT bo o to pytałeś

https://www.regular-expressions.info/replacecase.html
https://www.regular-expressions.info/refreplacecase.html
Nie nadaje się to do Jawy ani vbs.

[https://textmechanic.com/text-tools/combination-permutation-tools/permutation-generator/ ]
A tu chciałem przetestować i po 4 razie chcą pieniądze.

Podtrzymuję swoją teorie z tym znalezieniem, “I Salomon “z pustego” nie naleje”.
To znaczy, że tego nie da się zrobić w RegExp Jawascrypt lub vbs scrypt

Jak się nie da. W JS na 100% się da …

str.replace(regexp|substr, newSubstr|function)

Jako drugi parametr dajesz swoją funkcję w której robisz toUpperCase (https://developer.mozilla.org/pl/docs/Web/JavaScript/Referencje/Obiekty/String/toUpperCase) na drugiej grupie dopasowania i zwracasz nowy string do zastąpienia …

  <Rule>
    <Enabled>True</Enabled>
    <FindWhat>([a-z])(\w+)</FindWhat>
    <ReplaceWith>Mc$2$3</ReplaceWith>
    <SearchType>RegularExpression</SearchType>
    <Description></Description>
  </Rule>

To też jest w Javie i jak tu zastosować to
aby mckenzie zamienić na McKenzie?

Głowy sobie uciąć nie dam, ale to wygląda jak konfiguracja jakiegoś automatycznego zadania w jakimś programie. Więc nie wiem jak to zrobić bo go nie znam i nie chcę poznawać. Sprawdź w dokumentacji, ale z tego co widzę to raczej się nie da zrobić.

“Kod” który wstawiłeś nie jest w Javie, a jest to po prostu XML - są to dane i z programowaniem ma niewiele wspólnego.

1 polubienie

To jest z settings.xml z SubEdit (edytor napisów do filmów).
Z RegExp korzystam bardzo dużo w vbs, SubEdit, IVONA (lektor), AkelPad(edytor txt.)

Nie wiem co to wnosi do tematu i czego jeszcze oczekujesz, jakiej oczekujesz jeszcze pomocy.

Napisałem Ci już to co najmniej 4 razy, że prawdopodobnie tego się nie da zrobić przy pomocy gotowych programów. Dałem Ci jedyną możliwą opcję do zrobienia tego w postaci Case Conversions w regex, ale skoro nie jest to zaimplementowane w silniku regex wykorzystywanym w tym programie to nic innego się nie da zrobić.
Być może program którego używasz oferuje poprzez odpowiednie skonfigurowanie reguły, którą tworzysz zamianę wybranego znaku na dużą literę, tego nie wiem i musisz to sobie sam znaleźć we własnym zakresie w dokumentacji tego programu.

Jeśli tego również nie ma to jedynym rozwiązaniem jest wygenerowanie reguł zamieniających pojedyncze małe litery na pojedyncze duże.

Zamiana tego w dowolnym języku programowania nie powinna być problemem - opisałem Ci jak to zrobić w JS bo o nim wspomniałeś. VBSa nie znam, nie chcę znać bo jest mi to nie potrzebne wiec w jego przypadku musisz szukać informacji sam jak to zrobić, ale jestem pewny, że da się to zrobić i będzie to podobnie wyglądało jak w JS.

Ja tylko potrzebuję to wykonać w 2 linijkach
Find: ([a-z])(\w+)
ReplaceWith Mc$2$3

i wynika z tego, że ten RegEx jest z XML A to se neda. :grinning:

Jak to dwie “linijki” to czemu nie nawet ręcznie.

Epopeje w nich zawarto z 1000 tysięcy błędnie zapisano nazwisko?

Jak więcej niż 2 to mix a nie RegExp.

Czy ty wogole piszesz program, gdzie uzywasz regexp, czy po prostu probujesz napisac plik konfiguracyjny do subtitle edit, ktory wczyta podana zasade i na jej podstawie zmieni podany plik z napisami?

Dokładnie chodzi o to drugie.

Troche malo jasne bylo, co chcesz osiagnac.
Pobawilem sie troche i to jest to, co zrobiem:

To jest bardzo lopatologiczny regex, i nie wiem, czy subtitle edit poprawnie to zinterpretuje, ale majac ten przyklad powinienes sobie dalej poradzic.

Jest to, jak pisałem RegEx obsługujący pliki xml.
Uprościłem text do jednej małej litery, którą trzeba zamienić na dużą.

Jak widać nie działa i prawdopodobnie nic tu nie zadziała.